MySQL을 최적화하는 3가지 간단한 방법

小云云
풀어 주다: 2018-02-11 10:55:05
원래의
1358명이 탐색했습니다.

1. 두 개의 데이터베이스나 애플리케이션은 완전히 동일하지 않습니다. 여기서는 우리가 조정하고 있는 데이터베이스가 빠른 쿼리, 우수한 사용자 경험 및 대량의 트래픽 처리가 우선순위인 "일반적인" 웹 사이트를 제공하는 것이라고 가정합니다.

2. 서버 최적화 전 데이터베이스 백업을 해주세요!

이 기사에서는 주로 MySQL을 최적화하기 위한 3가지 간단한 조정 사항을 제공합니다. 도움이 필요한 친구들이 참고하여 모두에게 도움이 되기를 바랍니다.

1. InnoDB 스토리지 엔진 사용

아직 MyISAM 스토리지 엔진을 사용하고 있다면 InnoDB로 전환해야 할 때입니다. InnoDB가 MyISAM보다 유리한 이유는 많습니다. 성능이 염려된다면 물리적 메모리를 어떻게 활용하는지 살펴보겠습니다.

  • MyISAM: 인덱스만 메모리에 유지합니다.

  • InnoDB: 인덱스와 데이터를 메모리에 저장합니다.

결론: 메모리에 저장된 콘텐츠는 디스크에 있는 콘텐츠보다 더 빠르게 액세스됩니다.

테이블의 스토리지 엔진을 변환하는 방법은 다음과 같습니다.

ALTER TABLE table_name ENGINE=InnoDB;
로그인 후 복사

참고: 적절한 인덱스를 모두 생성했습니다. 그렇죠? 더 나은 성능을 위해서는 인덱스 생성이 항상 최우선 순위입니다.

2. InnoDB가 모든 메모리를 사용하도록 합니다.

my.cnf 파일에서 MySQL 구성을 편집할 수 있습니다. innodb_buffer_pool_size 매개변수를 사용하여 InnoDB가 서버에서 사용할 수 있는 물리적 메모리의 양을 구성하십시오.

이에 대해 허용되는 "경험 법칙"(서버가 MySQL만 실행한다고 가정)은 이를 서버 실제 메모리의 80%로 설정하는 것입니다. 스왑 파티션을 사용하지 않고 운영 체제가 정상적으로 실행될 만큼 충분한 메모리가 있는지 확인한 후 MySQL에 가능한 한 많은 물리적 메모리를 할당합니다.

따라서 서버의 물리적 메모리가 32GB인 경우 해당 매개변수를 최대 25GB까지 설정할 수 있습니다.

innodb_buffer_pool_size = 25600M
로그인 후 복사

*참고: (1) 서버 메모리가 작고 1GB 미만인 경우. 이 문서의 방법을 적용하려면 서버를 업그레이드해야 합니다. (2) 서버에 특히 큰 메모리(예: 200GB)가 있는 경우 상식적으로 운영 체제용으로 최대 40GB의 메모리를 예약할 필요가 없습니다. *

3. InnoDB 멀티태스크 실행

서버의 innodb_buffer_pool_size 매개변수 구성이 1GB보다 큰 경우 innodb_buffer_pool_instances 매개변수의 설정에 따라 InnoDB 버퍼 풀이 여러 개로 분할됩니다.

버퍼 풀이 두 개 이상 있으면 다음과 같은 이점이 있습니다.

여러 스레드가 동시에 버퍼 풀에 액세스하면 병목 현상이 발생할 수 있습니다. 여러 버퍼 풀을 활성화하면 이 경합을 최소화할 수 있습니다.

버퍼 풀 수에 대한 공식적인 권장 사항은 다음과 같습니다.

최상의 결과를 얻으려면 innodb_buffer_pool_instances 및 innodb_buffer_pool_size의 설정을 고려하여 각 인스턴스에 최소한 하나의 버퍼 풀이 있어야 합니다. 1GB 미만입니다.

따라서 이 예에서는 물리적 메모리가 32GB인 서버에서 innodb_buffer_pool_size 매개변수를 25GB로 설정합니다. 적합한 설정은 25600M / 24 = 1.06GB입니다

innodb_buffer_pool_instances = 24
로그인 후 복사

주의!

my.cnf 파일을 수정한 후 적용하려면 MySQL을 다시 시작해야 합니다.

sudo service mysql restart
로그인 후 복사

이러한 매개변수를 최적화하는 더 과학적인 방법이 있지만 이러한 사항은 일반적인 지침으로 적용할 수 있으며 MySQL 서버를 성능이 더 좋습니다.

관련 권장 사항:

Mysql 다중 테이블 공동 쿼리 효율성 분석 및 최적화

Linux에서 mysql 최적화를 위한 팁

Innodb의 데이터 페이지 크기를 수정하여 MySQL을 최적화하는 방법에 대한 자세한 예제 예

위 내용은 MySQL을 최적화하는 3가지 간단한 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!