Настройка MySQL на веб-сервере

Попробуем настроить MySQL на высокую производительность при минимальных требованиях к аппаратной части.

 

Считаем, что операционная система Linux установлена.

Сначала, проверяем, что установлена последняя версия движка базы данных.

yum -y install mysql mysql-server php-mysql

Находим и редактируем файл

/etc/my.cnf

Должно получиться примерно следующее.

[mysqld]

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# For slow connections:
wait_timeout = 600
max_allowed_packet = 32M
tmpdir=/tmp

# Optimization:

query_cache_size = 24M
query_cache_limit = 6MB
key_buffer_size = 5M
#key_cache_division_limit=70
max_connections = 34
long_query_time = 1
log_slow_queries=/var/log/mysqld_slow_queries.log
max_heap_table_size = 290M
tmp_table_size = 290M
join_buffer_size = 3M
table_open_cache = 600
table_definition_cache = 600

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Пример конфигурационного файла: скачать. Данная конфигурация ориентирована на недорогую двухъядерную машину, на которой размещены три независимых сайта со среднесуточной посещаемостью 100...1000 человек.

Для анализа производительности я использую старую, но хорошо зарекомендовавшую себя утилиту. Запускаем её на сервере, указываем параметры подключения к MySQL, внимательно читаем отчет. Рекомендациям этой утилиты вполне можно доверять.

Примерно подобный анализ содержится и в молодых версиях популярного phpMyAdmin.

4 комментарии

Авторизуйтесь, чтобы получить возможность оставлять комментарии

Другие материалы в этой категории:

Go to top