Малый сервер — это всегда компромисс между производительностью и потреблением ресурсов. 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 — убедитесь, что параметры применились. Даже небольшая настройка может заметно ускорить работу сайта.