toad For Mysql을 이용해서 엑셀파일 데이터를 Import 하는 도중 다음과 같은 에러가 발생했다
확인 해 보니까 문제의 원인이 될 수 있는 사항은
1. 메모리 버퍼의 사이즈가 너무 작다
2. 너무 무거운 쿼리를 이용하고 있다
이렇게 두가지 원인이 있는데,
나는 해당 작업을 매월 진행하고 있기 때문에 쿼리 문제는 아닐거라고 생각했다.
그래서 메모리 버퍼 사이즈 체크를 진행!
SELECT
VARIABLE_NAME,
VARIABLE_VALUE
FROM
performance_schema.global_status
WHERE
VARIABLE_NAME IN (
'Innodb_buffer_pool_pages_data',
'Innodb_buffer_pool_pages_free',
'Innodb_buffer_pool_pages_total'
);
해당 쿼리로 메모리 체크가 가능하다.
Innodb_buffer_pool_pages_data : 현재 사용중인 메모리
Innodb_buffer_pool_pages_free : 남은 메모리
Innodb_buffer_pool_pages_total : 전체 메모리 양
이렇게 설정 되어 있는데,
쿼리를 돌려보니
이렇게 나옴
확실히 부족하긴 한 것 같다!!!
그래서 메모리양을 늘려야하나? 라고 생각하고 있었는데
관련글을 찾아보니 메모리양은 Mysql 서버에 직접 접속해서 수정하라고 되어있었다.
하지만 우리 회사에서는 AWS RDS 서비스를 이용하고 있기 때문에 ..
확인 해 보니 해당 RDS의 파라미터 그룹을 수정해야 한다고 나와있었다.
이렇게 파라미터 그룹 접속 후 innodb_buffer_pool_size
키워드로 검색해서
값을 늘려주면 된다고 하는데..
위 사진처럼 설정되어있기때문에 DB 인스턴스 클래스를 수정해야 하나 고민했다
그런데 인스턴스 수정 없이 DB 재부팅을 시도하니 해결됨 ㅎㅎ
갑자기 메모리도 증가했다~~~
아쉬운건 재부팅을 시도하기 전에 DB 모니터링을 했으면
뭐때문에 메모리를 많이 차지하는건지 확인이 가능했을 것 같은데 그걸 확인 못했다
다음부터는 확인해야할듯
확인방법 : Tools -> Monitor -> session Monitor
로 가면 현재 세션에 대한 모니터링이 가능하다
여기서 lock 걸린 부분이 있는지 체크가 가능