>  기사  >  데이터 베이스  >  MySQL 최적화에 대한 일부 작업

MySQL 최적화에 대한 일부 작업

迷茫
迷茫원래의
2017-03-26 13:13:231203검색

1. 캐시 풀

MySQL은 캐시 풀을 통해 설계되었습니다. 즉, 데이터 조각을 찾을 때 데이터의 일부가 메모리에 저장됩니다. 캐시 풀에 있으면 캐시에서 직접
얻을 수 있습니다. 없으면 디스크에서 로드하세요. 따라서 데이터베이스 서버는 64비트 운영 체제를 채택하는 것이 좋습니다. 그래서 많은 양의 메모리를 사용할 수 있습니다. 다음 매개변수는 메모리 풀
을 설정하는 데 사용됩니다.

SHOW VARIABLES LIKE "innodb_buffer_pool_instances"

캐시 풀 수를 확인합니다. 캐시 풀 수는 glable을 통해 설정하거나 구성 파일 에서 직접 설정할 수 있습니다.

show VARIABLES like "innodb_buffer_pool_size"

각 캐시 풀의 크기를 확인하고 쿼리하면 결과는 바이트입니다.

이 설정은 자체 서버의 성능을 고려해야 한다는 점에 유의해야 합니다.

캐시 적중률을 확인하려면

SHOW ENGINE INNODB STATUS

One을 전달하면 됩니다. 출력 줄은 매우 중요합니다. 적중률을 볼 수 있습니다.

Buffer pool hit rate 1000 / 1000

는 캐시 적중률을 나타내며 일반적으로 95%

LRU 목록보다 낮을 수 없습니다.

데이터 캐시는 LRU 모드로 저장됩니다. 즉, 가장 최근에 쿼리된 데이터가 맨 앞에 배치된다는 의미입니다. 이는 핫 데이터라는 의미이지만, 이 LRU 알고리즘에는 특히 매 순간마다 몇 가지 변형이 있습니다.

나오는 데이터는 앞쪽 위치가 아닌 중간 위치에 삽입됩니다. 그 이유는 일부 테이블 스캔 작업을 방지하기 위한 것입니다.

모든 데이터가 새로 고쳐지며, 설정할 수 있는 여러 매개변수가 있습니다.

SHOW VARIABLES LIKE "innodb_old_blocks_pct"

는 중간점의 위치를 ​​나타냅니다. 기본값은

, 이는 아마도 3/5일 것입니다

또 다른 매개변수는

SHOW VARIABLES LIKE "innodb_old_blocks_time"

인데, 이는 데이터가 중간점에 삽입될 때 적용되는 데 걸리는 시간입니다.

실제 환경에 핫스팟 데이터가 집중되어 있는 상황이 발생할 경우, LRU 매개변수 설정을 통해 핫스팟 데이터가 유출되는 것을 방지할 수 있습니다

위 내용은 MySQL 최적화에 대한 일부 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.