Что должен знать и делать администратор сервера или БД перед тем, как сделать доступной базу данных InnoDB.
Я думаю о таких вещах, как установка правильных значений для innodb_buffer_pool_size
и innodb_log_file_size
Итак, какие простые вещи вы могли бы забыть настроить, чтобы приложение, использующее базу данных, работало менее оптимально?
Перед тем, как начать, вам следует обдумать некоторые параметры конфигурации.
Если вы вообще не используете myisam, вы можете безопасно выделить почти все (держите достаточно, чтобы ваша ОС работала комфортно, и достаточно для вашего max_connections
) ваша память innodb_buffer_pool
. Самое приятное в InnoDB заключается в том, что он обрабатывает почти все содержимое памяти самостоятельно, нет необходимости разделять такие вещи, как кеши запросов, ключевые буферы и т. Д.
Я бы порекомендовал вам включить innodb_file_per_table
просто потому, что это значительно упрощает просмотр файловой системы и определение необходимого места для различных таблиц и баз данных. Вам все равно понадобится общий файл ibdata для внутреннего использования InnoDB, но вы можете просто определить его как 10M:autoextend
. Нет необходимости определять множество различных файлов данных innodb с заранее выделенными размерами.
innodb_log_file_size
и innodb_log_buffer_size
в совокупности должен быть больше, чем в десять раз ваш самый большой объект blob, если у вас много больших. Если вы этого не сделаете (и не должны [1,2]), особо возиться с этим не нужно. Проверьте Блог о производительности MySQL для подробного отчета о том, как рассчитать.
А когда вы некоторое время запустите MySQL, проверьте свои настройки с помощью MySQLTuner или Учебник по настройке MySQL.
Для более подробного отчета попробуйте mysqlreport, а для мониторинга в реальном времени отметьте mytop.
Одним небольшим "сюрпризом" для меня было то, что innodb по умолчанию использует один файл для всех баз данных / таблиц. В отличие от таблиц MyISAM, которые используют каталог для каждой базы данных и файлы для таблицы / tableindex.
Это может иметь значение, если вы привыкли сжимать физические файлы на основе таблицы (оптимизировать таблицу xxx)