안녕하세요.
갑자기 불쑥 글쓰게 된점 죄송하게 생각 합니다.
다름이 아니라, 저희 db 서버가 이번에 부하가 엄청나게
일어나서 찾다 찾다 이곳까지
오게 되었습니다.
워낙 많은 데이타를 보여주려다 보니, 부하가 많을수 밖에 없는
곳이긴 합니다.
저희 db 서버를 어떻게 해야 될지 조언 주시면 감사하겠습니다.
=============================================================================
MYSQL SERVER STATUS (connected by TCP/IP), 누적된
통계자료가 너무 적습니다.
| 항목 |
STATUS |
commnets, [***] 표시는 성능 향상과 관련됨 |
| TOTAL_STATUS |
327.35 |
hot busy (1초당 평균 쿼리 요청수) |
| CRITICAL_LIFE_TIME |
13초 |
커넥션당 평균적인(추세)
임계 life time(CUR) |
| CRITICAL_LIFE_TIME_MAX |
17초 |
커넥션당 평균적인(최대)
임계 life time(EXP) |
| All_databases |
3 or more |
데이터베이스
수 |
| Aborted_clients |
19,722 |
연결 취소 Clients 수, refer 3(3초)[wait_timeout]
and 28,800(8시간 0초)[interactive_timeout] |
| Aborted_connects |
31,879 |
연결 실패수, refer 10(10초)[connect_timeout] |
| Aborted_clients_percent |
1.07% |
연결 취소율, 연결
취소가 많습니다(기준 1%). 3(3초)(wait_timeout)초나
28,800(8시간 0초)(interactive_timeout)초보다
늦게 close 하거나 연결을 끊지 않는 경우가 많습니다.[참고] |
| Aborted_connects_percent |
1.72% |
연결 실패율, 잘못된(fail)
접속 요청이 많습니다(연결 실패)(기준 1 %).
10(10초)(connect_timeout)보다
긴 연결 요청, 틀린 암호, 접근 권한 문제. |
| Bytes_received |
806 MB |
수신량(총) |
| Bytes_sent |
2.5 GB |
전송량(총) |
| Bytes_per_rs |
3.17 |
받고(1) 보내는(x) 비율, 1:x |
| Bytes_sent_per_sec |
44 KB |
전송량(초당) |
| Bytes_sent_per_min |
3 MB |
전송량(분당) |
| Bytes_sent_per_hour |
155 MB |
전송량(시간당) |
| Bytes_sent_per_day |
3.6 GB |
전송량(하루평균), 예상수치 |
| Com_delete |
0.03% |
DELETE 쿼리 사용율(전체 DB 통계) |
| Com_insert |
0.11% |
INSERT 쿼리 사용율(전체 DB 통계) |
| Com_select |
45.10% |
SELECT 쿼리 사용율(전체 DB 통계) |
| Com_update |
1.43% |
UPDATE 쿼리 사용율(전체 DB 통계) |
| Com_replace |
0.00% |
REPLACE 쿼리 사용율(전체 DB 통계) |
| Com_lock_tables |
0.00% |
LOCK TABLES 쿼리 사용율(전체 DB 통계) |
| Connections |
1,849,471 |
총 connections 수 |
| Connections_per_sec |
31.20 |
초당 connections 수 |
| Created_tmp_tables |
1,218,737 |
메모리에 생성된 임시 테이블 수 |
| Created_tmp_disk_tables |
1,191,002 |
DISK에 생성된 임시 테이블 수, 33,554,432(32 MB)[tmp_table_size]보다
많은 메모리를 요구하는 SQL 구문을 실행시 누계됨 |
| Create_tmp_disk_tables_per |
97.72% |
DISK에 생성된 임시 테이블 사용 비율 |
| Intervals_of_connection |
0.032 |
커넥션 주기(초) |
| Intervals_of_question |
0.003 |
쿼리 주기(초) |
| Key_reads |
48,220 |
DISK에서 Key 읽은 수 |
| Key_read_requests |
156,098,528 |
캐시에서 Key 읽기 요청수 |
| Key_writes |
92,708 |
DISK에 Key를 쓴 수 |
| Key_write_requests |
343,619 |
캐시에 Key 쓰기 요청수 |
| Key_reads_per_request |
0.00% |
DISK에서 Key를 읽는 비율, 정상 |
| Key_writes_per_request |
0.27% |
DISK에 Key를 쓰는 비율, 보통 1에 가까워야 정상 |
| Max_used_connections |
740 |
동시에 연결된 최대값, 정상 |
| Open_tables |
1,024 |
현재 열려있는 Tables 수 |
| Opened_tables |
1,503 |
열렸던 Tables 수, refer 1,024[table_cache], 1,024[table_cache]값을
2048 정도로 올리세요. |
| Questions |
19,407,667 |
현재까지 쿼리 요청수 |
| Questions_per_connect |
10.49 |
커넥션당 평균 쿼리 요청수 |
| Select_full_join |
0 |
Key 없이 FULL-JOIN 횟수 |
| Slow_queries |
9,200 |
3(3초)(long_query_time)초
보다 큰 쿼리 요청수 |
| Table_locks_waited |
3일 3시간 55분 34초 |
Lock wait 총시간 |
| Threads_cached |
0 |
캐시된 쓰레드수, 0[thread_cache_size]보다
항상 작음 |
| Threads_connected |
15 |
현재 열려있는 커넥션 수 |
| Threads_created |
1,849,470 |
현재까지 handle 커넥션에 생성된 쓰레드 수 |
| Threads_running |
8 |
현재 구동중인 쓰레드 수(not sleeping) |
| Threads_created_per |
1.00% |
커넥션당 생성된 평균 쓰레드 수(기준 0.01%), 0[thread_cache_size]값을
올리세요.[참고] |
| Uptime |
16시간 28분 7초 |
최근 MySQL 서버 구동 시간 |
|
MYSQL SERVER VARIABLES (connected by TCP/IP), 누적된
통계자료가 너무 적습니다.
| 항목 |
VARIABLES |
commnets, [***] 표시는 성능 향상과 관련됨 |
| back_log |
50 |
man 2 listen, net.ipv4.tcp_max_syn_backlog |
| connect_timeout |
10(10초) |
bad handshake timeout(초), 잘못된(fail)
접속 요청이 많습니다(연결 실패)(기준 1 %).
10(10초)(connect_timeout)보다
긴 연결 요청, 틀린 암호, 접근 권한 문제. |
| join_buffer_size |
268,431,360(256 MB) |
[***] FULL-JOIN에 사용되는 메모리 |
| key_buffer_size |
524,283,904(500 MB) |
[***] INDEX key buffer에 사용되는 메모리, refer [Key_xxx], 정상 |
| log |
OFF |
로그 기록 여부 |
| log_update |
OFF |
UPDATE 로그 기록 여부 |
| log_bin |
OFF |
binary 로그 기록 여부 |
| long_query_time |
3(3초) |
refer 9,200[Slow_queries] |
| lower_case_table_names |
0 |
테이블 대소문자 구별유무(0 구별) |
| max_allowed_packet |
16,776,192(16 MB) |
최대 허용할 패킷 |
| max_connections |
1,024 |
[***] 최대 동시 접속 커넥션 수, refer 740[Max_used_connections], 정상 |
| max_delayed_threads |
20 |
최대 delayed 쓰레드 수, INSERT DELAYED 구문과 관련됨 |
| max_join_size |
4,294,967,295(4.0 GB) |
JOIN에 사용될 최대 크기(메모리 아님) |
| max_sort_length |
1,024(1 KB) |
TEXT, BLOB의 정렬에 사용되는 최대 크기 |
| max_user_connections |
500 |
최대 동시 user 수(0은 제한없음) |
| myisam_max_extra_sort_file_size |
8,388,608(8,192.0 GB) |
빠른 INDEX를 생성시 사용되는 최대 임시 파일 크기 |
| myisam_max_sort_file_size |
2,047(2.0 GB) |
REPAIR, ALTER, LOAD...등 INDEX를 재생성시 사용되는 임시 파일
크기 |
| myisam_sort_buffer_size |
134,217,728(128 MB) |
[***] REPAIR, INDEX, ALTER 정렬에 사용하는 메모리 |
| open_files_limit |
0 |
파일 open 제한 수(0은 제한없음) |
| record_buffer |
4,186,112(4 MB) |
[***] 순차적인 검색에 사용되는 메모리(read_buffer_size) |
| record_rnd_buffer |
4,186,112(4 MB) |
[***] ORDER BY 정렬에 사용되는 메모리(to avoid a disk seeks) |
| safe_show_database |
ON |
제한적인 SHOW DATABASE 구문 사용 여부,
정상 |
| skip_locking |
ON |
외부 lock 을 사용한다면 OFF로 설정. |
| skip_networking |
OFF |
TCP/IP 연결 여부(ON은 UNIX domain socket, OFF는 TCP/IP 연결), 정상 |
| skip_show_database |
OFF |
SHOW DATABASES 구문 사용 여부(ON은 원천봉쇄, OFF는
사용가능) |
| sort_buffer |
33,554,424(32 MB) |
[***] ORDER BY, GROUP BY 정렬에 사용되는 메모리 |
| table_cache |
1,024 |
[***] 한번에(all thread) 열 수 있는 테이블 수, refer
1,503[Opened_tables] |
| thread_cache_size |
0 |
[***] 쓰레드 캐시 재사용 수, refer 1,849,471[Connections],
1,849,470[Threads_created], 계산된 추정값(최소:32,
권장:65, 최대:98), 0[thread_cache_size]값을
올리세요.[참고] |
| tmp_table_size |
33,554,432(32 MB) |
[***] 복잡한 GROUP BY 정렬에 사용되는 메모리(to avoid a disk
seeks), refer 1,191,002[Created_tmp_disk_tables] |
| interactive_timeout |
28,800(8시간
0초) |
interactive -> re-active에 기다리는 시간(이후 closed), 연결
취소가 많습니다(기준 1%). 3(3초)(wait_timeout)초나
28,800(8시간 0초)(interactive_timeout)초보다
늦게 close 하거나 연결을 끊지 않는 경우가 많습니다.[참고] |
| wait_timeout |
3(3초) |
none interactive -> re-active에 기다리는 시간(이후 closed), 계산된
추정값(추세:12초,
임계:16초), 연결
취소가 많습니다(기준 1%). 3(3초)(wait_timeout)초나
28,800(8시간 0초)(interactive_timeout)초보다
늦게 close 하거나 연결을 끊지 않는 경우가 많습니다.[참고] |
| timezone |
KST |
현재 MySQL 서버의 TIME-ZONE |
| version |
3.23.58-log |
현재 MySQL 서버 버전 |
|
|