Існує кілька варіантів конфігурації, які слід продумати перед початком роботи.
Поки ви не використовуєте myisam взагалі, ви можете безпечно виділити майже всі (тримати достатньо, щоб ваша ОС працювала комфортно і достатньо для вашої max_connections
) своєї пам'яті innodb_buffer_pool
. Найприємніше в InnoDB - це те, що він обробляє майже всі матеріали пам'яті самостійно, не потрібно розділяти такі речі, як кеші запитів, буфери ключів тощо
Я рекомендую вам включити innodb_file_per_table
, просто тому, що це набагато простіше просто переглядати файлову систему та побачити, скільки місця потрібно для різних таблиць та баз даних. Вам все одно знадобиться загальний файл ibdata для внутрішнього використання InnoDB, але ви можете просто визначити його як 10M:autoextend
. Не потрібно визначати багато різних файлів даних innodb із попередньо виділеними розмірами.
innodb_log_file_size
і innodb_log_buffer_size
комбінований повинен бути більшим, ніж у десять разів більшим від вашого найбільшого об'єкта, якщо у вас багато великих. Якщо ви цього не зробите (і вам не слід [ 1 , 2 ]), насправді не потрібно багато цього турбувати. Перегляньте блог продуктивності MySQL для отримання детального звіту про те, як розрахувати.
І коли ви деякий час запускаєте MySQL, перевірте свої настройки за допомогою MySQLTuner або MySQL Tuning Primer .
Для більш детального звіту спробуйте mysqlreport , а для моніторингу в реальному часі перевірте mytop .