집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 MySQL을 최적화하는 방법에 대한 자세한 소개
이 글에서는 주로 Linux의 MySQL 최적화 예제에 대한 자세한 설명을 소개하고 있습니다. 필요한 친구는
Linux
vim의 MySQL 최적화 예제에 대한 자세한 설명을 참고하세요. /etc/my.cnf 다음은 my.cnf 파일에 있는 [mysqld] 문단의 내용만 나열한다. 다른 문단의 내용은 MySQL 실행 성능에 거의 영향을 주지 않으므로 지금은 무시한다.
[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-locking
MySQL의 외부 잠금을 방지하고 오류 가능성을 줄이고 안정성을 높입니다.
skip-name-resolve
MySQL이 외부 연결에서 DNS 확인을 수행하지 못하도록 비활성화합니다. 이 옵션을 사용하면 MySQL이 DNS 확인에 소비하는 시간을 없앨 수 있습니다. 그러나 이 옵션이 켜져 있으면 모든 원격 호스트 연결 인증은 IP 주소를 사용해야 하며, 그렇지 않으면 MySQL이 연결 요청을 정상적으로 처리할 수 없다는 점에 유의해야 합니다!
back_log = 384
back_log 매개변수의 값은 MySQL이 일시적으로 새 요청에 대한 응답을 중단하기 전에 짧은 시간 동안 스택에 저장할 수 있는 요청 수를 나타냅니다. 시스템에 짧은 시간 동안 많은 연결이 있는 경우 들어오는 TCP/IP 연결에 대한 수신 대기열 의 크기를 지정하는 이 매개변수의 값을 늘려야 합니다. 운영 체제마다 이 대기열 크기에 대한 제한이 있습니다. back_log를 운영 체제 제한보다 높게 설정하려고 해도 아무런 효과가 없습니다. 기본값은 50입니다. Linux 시스템의 경우 512 미만의 정수로 설정하는 것이 좋습니다.
key_buffer_size = 256Mkey_buffer_size는
max_allowed_packet = 4M thread_stack = 256K table_cache = 128K sort_buffer_size = 6M
read_buffer_size = 4M읽기 쿼리 작업에 사용할 수 있는 버퍼 크기입니다. sort_buffer_size와 마찬가지로 이 매개변수에 해당하는 할당된 메모리도 각 연결에 대해 배타적입니다.
join_buffer_size = 8M
조인트 쿼리 작업에 사용할 수 있는 버퍼 크기입니다. sort_buffer_size와 마찬가지로 이 매개변수에 해당하는 할당 메모리도 각 연결마다 배타적입니다.
myisam_sort_buffer_size = 64M table_cache = 512 thread_cache_size = 64 query_cache_size = 64MMySQL 쿼리 버퍼의 크기를 지정하세요. MySQL 콘솔에서 볼 수 있듯이, Qcache_lowmem_prunes 값이 너무 크다면 버퍼링이 부족한 경우가 많다는 뜻입니다. 값이 작으면 효율성에 영향을 미칩니다. 그런 다음 Qcache_free_blocks를 쿼리하지 않는 것을 고려할 수 있습니다. 값이 매우 크면 버퍼에 조각이 많다는 의미입니다.
tmp_table_size = 256M max_connections = 768MySQL에서 허용하는 최대 연결 프로세스 수를 지정하세요. 포럼에 액세스할 때 Too ManyConnections 오류 메시지가 자주 나타나는 경우 이 매개변수의 값을 늘려야 합니다.
max_connect_errors = 10000000 wait_timeout = 10요청에 대한 최대 연결 시간을 지정하세요. 메모리가 약 4GB인 서버의 경우 5~10으로 설정할 수 있습니다.
thread_concurrency = 8이 매개변수의 값은 서버 논리 CPU 수*2입니다. 이 예에서 서버에는 2개의 물리적 CPU가 있고 각 물리적 CPU는 H.T 하이퍼스레딩을 지원하므로 실제 값은 4*2=8
입니다.
skip-networking이 옵션을 활성화하면 MySQL의 TCP/IP 연결 방법이 완전히 꺼질 수 있습니다. 웹 서버가 원격 연결을 통해
MySQL 데이터베이스서버에 액세스하는 경우 이 옵션을 활성화하지 마세요! 그렇지 않으면 정상적인 연결이 불가능합니다!
table_cache=1024물리적 메모리가 클수록 설정도 커집니다. 기본값은 2402이며, 가장 적합하도록 512-1024로 조정하세요.
innodb_additional_mem_pool_size=4M기본값은 2M입니다.
innodb_flush_log_at_trx_commit=10으로 설정하면 저장하기 전에 innodb_log_buffer_size 대기열이 가득 찰 때까지 기다립니다. 기본값은 1
innodb_log_buffer_size=2M기본값은 1M
innodb_thread_concurrency=8서버의 CPU 수로 설정합니다. 기본값인 8
key_buffer_size=256M #默认为218,调到128最佳 tmp_table_size=64M #默认为16M,调到64-256最挂 read_buffer_size=4M #默认为64K read_rnd_buffer_size=16M #默认为256K sort_buffer_size=32M #默认为256K thread_cache_size=120 #默认为60 query_cache_size=32M
을 사용하는 것이 좋습니다.
위 내용은 Linux에서 MySQL을 최적화하는 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!