Назад | Перейти на главную страницу

Конфигурация MySQL на большой машине

У нас есть сервер Windows 2003 Enterprise Edition (64-разрядный), на котором работает только 64-разрядная версия MySQL 5.1.45. Он имеет 16 ГБ ОЗУ и 10 Т на жестком диске в массиве RAID 10. У нас ужасная производительность mysqld (загрузка процессора 85-100%). Мы использовали меньшую машину с лучшей производительностью, поэтому я предполагаю, что наш файл my.ini не подходит для нашей текущей машины. Файл my.ini выглядит следующим образом:

[client]
port=3306

[mysql]
default-character-set=latin1

[mysqld]
port=3306
basedir="D:/MySQL/"
datadir="D:/MySQL/data"

default-character-set=latin1
default-storage-engine=MYISAM
sql-mode=""

skip-innodb
skip-locking

max_allowed_packet = 1M
max_connections=800
myisam_max_sort_file_size=5G
myisam_sort_buffer_size=500M

table_open_cache = 512
table_cache=8000
tmp_table_size=30M

query_cache_size=50M
thread_cache_size=128
key_buffer_size=3072M
read_buffer_size=2M
read_rnd_buffer_size=16M
sort_buffer_size=2M

#replication settings (this is the master)
log-bin=log
server-id = 1

Кто-нибудь видит что-то не так с этой настройкой? Для машины с таким большим объемом ОЗУ, почему mysqld потребляет столько ресурсов процессора? Я знаю, что мы можем оптимизировать некоторые запросы и т. Д., Но это нормально работало на меньшей машине, поэтому я почти уверен, что это конфигурация.

Заранее благодарю за любую помощь.

Вы используете таблицы innodb или myisam? Если вы используете InnoDB, вы должны установить размер буферного пула InnoDB. Это поможет кешированием общих запросов в ОЗУ. В качестве исключения предлагается, учитывая, что у вас 16 ГБ ОЗУ, вы должны попробовать настроить MySQL на использование 10–14 ГБ ОЗУ для кеширования общих наборов результатов и запросов.

Блог о производительности MySQL - для получения дополнительной информации: http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/

Вам следует увеличить read_buffer_size и sort_buffer_size. Для машины с 16 ГБ ОЗУ нет причин устанавливать жалкий размер 2 МБ.