>  기사  >  주제  >  Pagoda 패널을 통해 간단한 MySQL 성능 조정을 달성하는 방법

Pagoda 패널을 통해 간단한 MySQL 성능 조정을 달성하는 방법

藏色散人
藏色散人앞으로
2020-11-05 16:38:103896검색

다음 튜토리얼 칼럼인 Pagoda에서는 Pagoda 패널을 통해 간단한 MySQL 성능 튜닝을 수행하는 방법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Pagoda 패널을 통해 간단한 MySQL 성능 조정을 달성하는 방법

PHP+MYSQL 아키텍처 웹 사이트를 운영하는 동안 MySQL, PHP, CPU, 디스크 IO, 캐시 등 다양한 성능 문제가 자주 발생합니다. 그중 MySQL 병목 현상이 가장 일반적이고 어렵습니다. 웹사이트 성능에 영향을 미치는 요소를 해결하려면 일반적으로 redis 및 memcached와 같은 캐싱 소프트웨어를 사용하여 콘텐츠를 캐시합니다. 이는 실제로 가장 좋은 솔루션 중 하나이지만 가장 일반적으로 사용되는 웹사이트 프로그램의 지원이 필요합니다. 지원하지 않거나 이러한 캐싱 소프트웨어는 완벽하게 지원될 수 없습니다. 오늘은 MySQL 병목 현상 문제를 완화하기 위해 MySQL 자체 구성 조정을 통해 MySQL 성능을 최적화하는 방법에 대해 이야기하겠습니다.

준비:

1. Pagoda Linux 패널 공식 버전 5.2.0+(2017/09/20 출시) Beta 버전 5.2.4+

2. MySQL 5.x

보통 MySQL 튜닝을 다음과 같이 나눕니다. 다음 부분 :

1. MySQL 구성 매개변수 튜닝(웹사이트 운영 조건에 따라 조정 필요)

2. 데이터 테이블 인덱스 튜닝(효과는 분명하지만 일반적으로 우수한 오픈 소스 프로그램은 조정할 필요가 없음) 3 .SQL 문 튜닝(프로그래머나 DBA가 하는 일)

오늘은 주로 Pagoda 패널의 새로운 기능으로 MySQL 구성 매개변수를 튜닝하는 방법에 대해 이야기하겠습니다. 먼저 두 가지 그림을 살펴보겠습니다.

(그림 1)

Pagoda 패널을 통해 간단한 MySQL 성능 조정을 달성하는 방법(그림 2)

Pagoda 패널을 통해 간단한 MySQL 성능 조정을 달성하는 방법분명히 (그림 1)은 MySQL의 현재 실행 상태를 보여주고, (그림 2)는 MySQL의 주요 구성 매개변수를 보여줍니다

이 두 그림을 해석해 보겠습니다.

1. 활성/최대 연결 수

(그림 1) 현재 활성 연결은 1입니다. MySQL 서비스가 시작된 이후 가장 높은 연결 수는 (그림 2)에 가까우거나 같을 때 54입니다. max_connections, max_connections는 적당히 늘려야 하며, 한번에 너무 많이 늘리지 않도록 주의하고, 매번 50씩 늘려가며 부족하면 계속 늘려가는 것이 좋습니다. .

2. 스레드 캐시 적중률

(그림 1)의 스레드 캐시 적중률은 99.78%입니다. 이 값이 90% 미만인 경우 (그림 2)의 thread_cache_size를 적절하게 늘리는 것이 좋습니다. 매번 8씩 늘려주세요.

3. 인덱스 적중률

(그림 1)의 인덱스 적중률은 99.50%이며, 이 값이 95% 미만인 경우 (그림 2)의 key_buffer_size를 적절히 늘리는 것이 좋습니다. 데이터베이스가 Innodb 엔진을 사용하는 경우 이 옵션을 무시할 수 있습니다.

4. Innodb 인덱스 적중률

(그림 1) 이 경우 Innodb 인덱스 적중률은 100%입니다. 값이 95% 미만인 경우 innodb_buffer_pool_size에서 적절하게 늘리는 것이 좋습니다(그림 2). 매번 64씩 늘리는 것이 좋습니다. 데이터베이스가 Innodb 엔진을 사용하지 않는 경우 무시할 수 있습니다. 이 옵션

5. 쿼리 캐시 적중률

MySQL 쿼리 캐시는 개인적으로 논란이 많은 기능입니다. redis, memcached 등의 캐싱 소프트웨어를 사용할 때는 ( 그림 2) 캐싱 소프트웨어를 사용하지 않고 과도한 메모리 사용량이 있고 데이터베이스 병목 현상이 발생하는 경우 데이터 테이블 구조 최적화에 크게 의존하는 기능인 쿼리 캐시를 활성화해 볼 수 있습니다. SQL 문. 데이터 테이블 구조와 SQL 문이 쿼리 캐시에 최적화되어 있으면 효과는 여전히 매우 좋습니다.

6. 디스크에 임시 테이블 생성

(그림 1) 디스크에 임시 테이블을 생성하는 비율은 0.42%로, 대부분의 임시 테이블이 메모리에 생성되어 디스크 IO 오버헤드가 크게 증가하지 않음을 나타냅니다. 즉, 비율이 2%보다 커지면 (그림 1)의 tmp_cache_size를 적절히 늘리는 것이 좋습니다. 비율이 60%보다 커지면 포기하지 않는 경우도 있습니다. 특별히 최적화된 SQL 문이므로 작업 중에 활성화되므로 임시 테이블이 많아 아무리 캐시를 추가해도 충분하지 않습니다.

7. 오픈 테이블

(그림 1)의 오픈 테이블이 (그림 2)의 table_open_cache와 비슷하거나 같으면 table_open_cache를 적절하게 늘릴 수 있지만, 너무 크게 설정하면 프로그램이 중단될 수 있습니다. 자주 MySQL 연결의 경우 1024 이내를 권장하며 최대값은 2048을 초과할 수 없습니다.

8. 인덱스를 사용하지 않은 JOIN의 양과 인덱스를 사용하지 않은 JOIN의 양

0이 아니면 실제로 데이터 테이블 인덱스를 확인해 보세요. 하루에 수천 개씩 증가하므로 일반적으로 무시할 수 있으며 결국에는 프로그래머나 DBA가 인덱싱을 수행하는 것이 더 적합합니다.

9. 정렬 후 병합 횟수

이 값이 천천히 증가하는 경우 (그림 2)에서 sort_buffer_size를 적절하게 늘리는 것이 좋습니다. 매번 512씩 늘리는 것이 좋지만 최대값은 8192를 초과하지 않아야 합니다. 이 값이 계속 증가하는 경우 sort_buffer_size를 늘리는 것이 좋습니다. 쓸모가 없으므로 이 옵션을 포기하십시오. 글쎄, 이 책임은 여전히 ​​프로그램 개발자가 져야 합니다.

10. 테이블 잠금 수

서버 CPU 오버헤드가 높지 않고 테이블이 미친 듯이 잠긴 경우 모든 데이터 테이블을 innodb로 변환하고 변환하기 전에 반드시 백업하는 것을 권장합니다.

11. 최적화 계획

이는 메모리 크기를 기준으로 권장되는 최적화 계획입니다. 각 구성 항목은 실제 상황에 따라 조정되어야 합니다.

참고: 매개변수 구성을 저장한 후에는 MySQL 서비스를 다시 시작해야 합니다.

위 내용은 Pagoda 패널을 통해 간단한 MySQL 성능 조정을 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 bt.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제