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
2 ответа
Поскольку у вас MySQL 5.0.95, я настоятельно рекомендую вам не только удалить skip-innodb, но и обновить до MySQL 5.5. Зачем???
InnoDB был улучшен, чтобы использовать преимущества нескольких процессоров и гиперпоточности. Есть одна загвоздка: вы должны правильно настроить my.cnf, чтобы сделать это. Я говорю это потому, что в некоторых случаях MySQL 5.0 OUT-THE-BOX работает быстрее, чем MySQL 5.5 OUT-OF-BOX.
Ранее я писал об этом в DBA StackExchange:
Nov 24, 2011
: Почему MySQL 5.5 медленнее, чем 5.1 (Linux, используя MySQLslap)Oct 05, 2011
: Запрос выполняется долго в некоторых новых версиях MySQLSep 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, если вы можете, просто потому, что он имеет лучшие гарантии целостности данных. На самом деле, я немного удивлен - и несколько подозрительно - что ваша установка, кажется, уже не использует его.