programing

MySQL 개선 문제(innodb_log_file_size)

randomtip 2022. 10. 12. 21:31
반응형

MySQL 개선 문제(innodb_log_file_size)

우리는 데이터베이스 서버의 효율성을 개선하려고 노력하고 있습니다.

MySQLTunner 권장사항 중 하나는 innodb_log_file_size를 12GB로 늘리는 것입니다.이 변경으로 쿼리 속도와 성능이 크게 향상될 수 있습니다.이 파라미터를 1GB 이상 늘리면 서비스가 시작되지 않고 로그를 삭제하고 완전히 정지해도 1GB 이상의 파라미터로 시작할 수 없게 됩니다.

일부 정보:

mysql  Ver 14.14 Distrib 5.5.62, for debian-linux-gnu

innodb_buffer_pool_size = 100G 
innodb_file_per_table   = ON
innodb_buffer_pool_instances = 64 
innodb_stats_on_metadata = OFF
innodb_log_file_size = 1G 
innodb_log_buffer_size  = 8M

이 로그 크기를 유지하기 위해 파티션에 충분한 공간이 필요합니다.

감사합니다!

MySQL 5.5에서는 innodb 로그 파일 크기를 총 4GB 이상으로 늘릴 수 없습니다.innodb_log_file_size최대 4GB /innodb_log_files_in_group(디폴트로는 2입니다만, 이것을 변경해도 메리트는 없습니다).따라서 로그 파일을 최대 2GB로 설정할 수 있습니다.

https://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_log_file_size 를 참조해 주세요.

5.6.3에서는 로그 파일의 최대 결합 크기가 512GB로 증가했습니다.다시.innodb_log_file_size는 하나의 로그 파일 크기여야 하므로 여러 로그 파일을 사용하는 경우 총 크기가 512GB를 초과할 수 없습니다.

로그 파일 크기를 늘리는 것이 쿼리를 더 빨리 실행하기 위한 마법의 솔루션이 아니라는 Rick James의 답변에 동의합니다.그럴 리 없어.

쓰기 트래픽이 매우 많기 때문에 더러운 페이지가 테이블스페이스로 플래시되는 것보다 더 빨리 로그 공간이 부족해지는 경우 innodb 로그 파일 크기를 늘리는 것이 유용할 수 있습니다.이는 개별 쓰기 속도가 아니라 쓰기 속도에 영향을 받습니다.

대부분의 앱에서 2GB 로그 파일 두 개면 충분합니다.그렇지 않다면 여러 MySQL 인스턴스를 실행하고 쓰기 트래픽을 가능한 한 균등하게 분산해야 합니다.

이전 버전에서는 log_file_size를 변경하는 것이 어렵습니다.순서에 대해서는, https://dba.stackexchange.com/questions/1261/how-to-safely-change-mysql-innodb-variable-innodb-log-file-size/4103#4103 를 참조해 주세요.

그러나 log_file_size 변경은 큰 도움이 되지 않을 것으로 예상됩니다."퍼포먼스"는 보통 몇 가지 느린 쿼리를 의미합니다.slowlog가 켜져 있습니까? 값이 낮은long_query_time최악의 질문을 몇 가지 찾아냅니다.이러한 질문에 대처하는 것으로 퍼포먼스를 향상시킬 수 있습니다.순서: http://mysql.rjweb.org/doc.php/mysql_analysis

경우, 이 항목을 변경할 수 있습니다.innodb_log_file_size오래된 로그 파일을 삭제해야 합니다.그렇지 않으면 기존 파일이 구성 파일의 지정된 크기와 일치하지 않으면 Innodb가 정상적으로 시작되지 않습니다.

더 면, 더 ,innodb_buffer_pool_sizeInnoDB는 RAM의 70%입니다.

언급URL : https://stackoverflow.com/questions/54531955/problem-improving-mysql-innodb-log-file-size

반응형