일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- mysql 5.5
- Effective Java 3/e
- nodejs
- MySQL
- try catch
- spring
- spring cloud
- 정규표현식
- regex
- eslint
- upgrade
- expire_logs_days
- 퀵소트
- Spring Batch
- update
- REACTJS
- REACT
- Effective Java
- JavaScript
- current_date
- java
- git
- Node
- npm
- Express
- Regular expression
- log4j2
- Chunk
- log_bin
- migration
- Today
- Total
내 세상
[MySQL] CPU / Memory / InnoDB Buffer Usage 100% 이슈 조치 본문
1. wait_timeout
- mysqld와 mysql client가 connection된 후, idle 상태인 connection 끊을 때까지 서버가 대기하는 시간
- mysql 서버가 client와의 connection을 계속해서 가져가 max connections error가 발생하는 경우가 있음.
- 28800(8시간, default) → 300(5분)
2. interactive_timeout
- mysqld와 mysql client가 connection된 후, idle 상태가 아닌 connection을 끊을 때까지 서버가 대기하는 시간.
- mysql 서버가 client와의 connection을 계속해서 가져가 max connections error가 발생하는 경우가 있음.
- 28800(8시간, default) → 300(5분)
3. long_query_time
- query 중 slow query로 분류하기 위해 사용되는 기준 시간.
- 10초로 했을 때, size가 큰 테이블을 조인해서 결과를 내는 경우에도 slow query 판정 되기 때문에 log가 과도하게 많아지는 현상이 있음.
- 10(10초, default) → 30(30초)
4. innodb_buffer_pool_size
- data file/log file이 기록되는 순서를 조정하는 역할.
- disk access를 줄이기 위한 cache 역할
- size가 클수록 성능에 유리하나, 실제 운용되는 시스템의 성능에 따라 지정할 수 있어야함.
5. innodb_buffer_pool_instances
- innodb_buffer_pool_size 를 N개의 instance로 쪼갰을 때, 각 instance가 1GB 이상일 경우에만 작동함.
- 통상적으로 CPU core 수 * 2로 사용하는 것이 바람직함.
- 8(default) → 4 (Cpu Core가 2개 이기때문)
innodb_buffer_pool_size(IBPSize) 를 설정하는 계산식
- show global status like 'innodb_buffer_pool_pages_data'; -- IBPDataPages
- show global status like 'innodb_buffer_pool_pages_total'; -- IBPTotalPages
- show global status like 'innodb_page_size'; -- IPS
IBPPctFull = IBPDataPages * 100.0 / IBPTotalPages
- IBPPctFull >= 95%
- IBPSize = DB Server's RAM * 0.75
- IBPPctFull < 95%
- IBPSize = IPS * IBPDataPages / (1024*1024*1024) X 1.05
innodb_buffer_pool_size 계산식 참고 링크
dba.stackexchange.com/questions/19164/what-to-set-innodb-buffer-pool-and-why
'Technical > MySQL' 카테고리의 다른 글
[MySQL] Loop 통해서 Insert 하는 Query (0) | 2021.10.15 |
---|---|
[MySQL] Datadir 변경 및 에러 조치 (0) | 2021.05.24 |
[MySQL] ON DUPLICATE KEY UPDATE 사용 (값이 중복되면 UPDATE, 아니면 INSERT) (0) | 2021.02.08 |
[MySQL] Error: ER_TRUNCATED_WRONG_VALUE: Truncated incorrect DOUBLE value (0) | 2020.06.16 |
[MySQL] Error: ER_CON_COUNT_ERROR: Too many connections (0) | 2020.05.27 |