MySQL 세팅 및 튜닝 관련 문의 0 3 2,621

by 헐레벌떡 [MySQL] [2018.08.01 20:47:23]


안녕하세요.

MySQL 을 사용해 구축 된 웹서비스를 유지보수하고 있는 개발자입니다.

개발 : 전자정부+mybatis 조합

인프라 : tomcat+아파치 조합

기타 :  테이블 갯수 약 30개 , 데이터량 적음(1만건 이상없음)

 

운영쪽 DB(MySQL) 는 인프라 업체에서 관리중인 상태입니다만,

max_user_connections 오류, wait_timeout 커넥션 오류(벨리데이션 쿼리는 삽입) 등의 문제가 발생중이네요.

 

문의사항은 현재 설정된 부분에 이상이 없는지에 대해서 문의드립니다.(초기설정)

max_connections 1024
Aborted_connects 230160
Connection_errors_accept 0
Connection_errors_internal 0
Connection_errors_max_connections 0
Connection_errors_peer_address 217432
Connection_errors_select 0
Connection_errors_tcpwrap 0
Connections 231882
Locked_connects 0
Max_used_connections 393
Max_used_connections_time #######
Performance_schema_session_connect_attrs_lost 0
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_finished_connects 0
Threads_connected 392
wsrep_connected ON
Aborted_clients 1293
Aborted_connects 230173
Delayed_insert_threads 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Slow_launch_threads 0
Threads_cached 5
Threads_connected 2
Threads_created 7
Threads_running 2
wait_timeout 60
Com_assign_to_keycache 0
Com_preload_keys 0
Com_show_keys 0
Handler_read_key 0
Key_blocks_not_flushed 0
Key_blocks_unused 2557333
Key_blocks_used 5
Key_read_requests 2954
Key_reads 17
Key_write_requests 0
Key_writes 0
wsrep_repl_keys 44504
wsrep_repl_keys_bytes 567616
delay_key_write ON
foreign_key_checks ON
have_rtree_keys YES
key_buffer_size 3221225472
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
keyring_operations ON
max_seeks_for_key 18446744073709551615
ssl_key key.pem
 

위와 같으며

Cache Miss Rate(%) =  Threads_created / Connections * 100

-> 0.003%

Connection Miss Rate(%) = Aborted_connects / Connections * 100

-> 99.263%

Connection Usage(%) = Threads_connected / max_connections * 100

-> 0.1953%

miss rate 가 심각하게 높은상태입니다.

( wait_timeout 시간은 디폴트값이 아닌 인프라 구성할때 수정 )

고견 부탁드립니다.

감사합니다.

by 꿈을향해 [2018.08.02 10:08:30]

커넥션풀 사용중이신가요?


by 아발란체 [2018.08.02 10:20:53]

Connection Miss Rate 부분은 Aborted_connects 기록을 보면 될 것 같습니다.

 

Aborted_connects 경우 사유를 host_cache 테이블을 보면 된다고 합니다.

https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html#statvar_Connection_errors_xxx

 

host_cache 테이블에서 확인 가능한 정보는

https://dev.mysql.com/doc/refman/8.0/en/host-cache-table.html

 

바로위 내용 한글로 호스트캐쉬테이블 스펙을 본다면

https://mariadb.com/kb/en/library/performance-schema-host_cache-table/

 

호스트테이블은 있는 위치는 / SELECT * FROM performance_schema.hosts

http://mysqlblog.fivefarmers.com/2013/07/19/practical-p_s-from-which-hosts-are-connections-being-attempted/

 

결론은

위를 종합하여 호스트캐쉬 테이블 에러메세지를 위 해석 방법을 참고하여 카운팅 원인이 무엇인지 명확하게 확인하시면 될 것 같습니다.

 


by 열심열심 [2018.08.02 13:22:46]

버퍼풀 사이즈와 버퍼 인스턴수 수도 조정하시구요. 

그러고 케녁션이 너무 많은데 개발에 close안한 부분 있는거 아닌가요? commit안하거나 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입