Файл MySQL my.cnf на нашем сервере CentOS показывает skip-innodb
как настоящее.
Мы стремимся оптимизировать my.cnf для большой базы данных Magento. Сервер имеет 12 ГБ памяти и 5 процессоров Xeon.
Было бы лучше прокомментировать / удалить skip-innodb
линия? Есть ли что-нибудь еще, что нужно изменить в файле?
Текущий файл my.cnf:
[mysqld]
skip-innodb
ft_min_word_len=3
query_cache_limit = 4M
query_cache_size = 16M ## 32MB for every 1GB of RAM
query_cache_type = 1
max_user_connections = 50
max_connections = 50
interactive_timeout = 300
wait_timeout = 200
connect_timeout = 200
thread_cache_size = 32
key_buffer_size = 64M ## 128MB for every 1GB of RAM
join_buffer_size = 1M
max_connect_errors = 20
max_allowed_packet = 12M
table_cache = 1024
record_buffer = 1M
sort_buffer_size = 1M ## 1MB for every 1GB of RAM
read_buffer_size = 1M ## 1MB for every 1GB of RAM
read_rnd_buffer_size = 1M ## 1MB for every 1GB of RAM
thread_concurrency = 4 ## Number of CPUs x 2
myisam_sort_buffer_size = 32M
tmp_table_size = 16M
max_heap_table_size = 12M
[safe_mysqld]
open_files_limit = 2048
[mysqldump]
quick
max_allowed_packet = 12M
Поскольку у вас установлен MySQL 5.0.95, я настоятельно рекомендую вам не только удалить skip-innodb, но и выполнить обновление до MySQL 5.5. Зачем ???
InnoDB был улучшен, чтобы использовать преимущества нескольких процессоров и гиперпоточности. Есть одна загвоздка: Для этого вам необходимо правильно настроить my.cnf. Я говорю это потому, что в некоторых случаях MySQL 5.0 OUT-OF-THE-BOX работает быстрее, чем MySQL 5.5 OUT-OF-THE-BOX.
Ранее я писал об этом в DBA StackExchange:
Nov 24, 2011
: Почему mysql 5.5 медленнее, чем 5.1 (linux, с использованием mysqlslap)Oct 05, 2011
: В некоторых более новых версиях MySQL запрос выполняется долгоSep 20, 2011
: Многоядерность и производительность MySQLJun 19, 2011
: Как правильно выполнить запекание MySQL?May 26, 2011
: Сравнение производительности однопоточных и многопоточных баз данныхТот факт, что MySQL работает с этим набором флагов, предполагает, что все ваши таблицы являются MyISAM. Поэтому я не думаю, что удаление флага само по себе изменит ситуацию. Что изменило бы его удаление, а затем преобразование ваших таблиц в InnoDB. Вы думаете об этом?
Если бы вы использовали MySQL 5.5, я бы с уверенностью посоветовал вам это сделать и использовать исключительно InnoDB. Тест, проведенный парнем из команды MySQL, показывает, что InnoDB значительно быстрее и более масштабируем для нескольких процессоров, чем MyISAM.. Существует распространенное мнение, что MyISAM быстрее InnoDB, но кажется, что это мнение неверно.
Однако я понятия не имею, так ли это на 5.0. Я полагаю, что между 5.0 и 5.5 было много настроек. Тем не менее, я бы посоветовал перейти на InnoDB, если вы можете, просто потому, что он имеет лучшие гарантии целостности данных. В самом деле, я немного удивлен - и несколько подозрительно - что ваша установка, похоже, уже не использует его.