Настройка MySQL: оптимизация для малого сервера

Малый сервер — это всегда компромисс между производительностью и потреблением ресурсов. MySQL в таких условиях требует особого подхода: настройки по умолчанию рассчитаны на мощные машины и часто не подходят для VPS с 1–2 ГБ ОЗУ.

Ключевые параметры конфигурации

  • innodb_buffer_pool_size — буфер, в котором InnoDB хранит данные и индексы. Для малого сервера ставьте 50–70% от доступной памяти.
  • max_connections — уменьшите до 50–100, чтобы не допустить переполнения памяти.
  • tmp_table_size и max_heap_table_size — ограничьте до 32–64 МБ, чтобы временные таблицы не разрастались.
  • query_cache_type = OFF — в MySQL 8 кэш запросов отсутствует, а в ранних версиях его лучше отключить.

Дополнительные рекомендации

  • Переведите все таблицы на InnoDB — MyISAM блокирует строки и работает медленнее при записи.
  • Отключите performance_schema, если вы не пользуетесь мониторингом производительности — он съедает до 30% ресурсов.
  • Включите slow_query_log для поиска медленных запросов.

После изменения конфигурации проверьте перезапуск и выполните SHOW VARIABLES — убедитесь, что параметры применились. Даже небольшая настройка может заметно ускорить работу сайта.