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

mysql my.cnf показывает InnoDB как отключенный «skip-innodb». Должен ли я включать его для большой базы данных Magento?

Файл 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:

Тот факт, что MySQL работает с этим набором флагов, предполагает, что все ваши таблицы являются MyISAM. Поэтому я не думаю, что удаление флага само по себе изменит ситуацию. Что изменило бы его удаление, а затем преобразование ваших таблиц в InnoDB. Вы думаете об этом?

Если бы вы использовали MySQL 5.5, я бы с уверенностью посоветовал вам это сделать и использовать исключительно InnoDB. Тест, проведенный парнем из команды MySQL, показывает, что InnoDB значительно быстрее и более масштабируем для нескольких процессоров, чем MyISAM.. Существует распространенное мнение, что MyISAM быстрее InnoDB, но кажется, что это мнение неверно.

Однако я понятия не имею, так ли это на 5.0. Я полагаю, что между 5.0 и 5.5 было много настроек. Тем не менее, я бы посоветовал перейти на InnoDB, если вы можете, просто потому, что он имеет лучшие гарантии целостности данных. В самом деле, я немного удивлен - и несколько подозрительно - что ваша установка, похоже, уже не использует его.