Настройка сервера под высокие нагрузки

Практически все стандартные конфигурации серверов рассчитаны на нагрузку не больше 200k в сутки, превысив эту планку, вы начнете терять трафик из-за различных «Too many connections». Это беда практически всех хостеров, которые продают чистые сервера. Ниже даны усредненные рекомендации по настройке серверов. Они не дадут максимальной производительности, но достаточно сильно повысят устойчивость к повышенным объемам трафика.

Включите Redis

При наличии Redis можно отключить использование MySQL при разборе трафика. Инструкция по установке.

MySQL

Запустите анализатор нагрузки MySQL:

wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl

Следуя рекомендациям, измените значения настроек в конфиге /etc/my.cnf.

Для shared-хостингов есть способ незначительно повысить производительность. Перенесите таблицу keitaro_ips в память.

Выполните SQL:

ALTER TABLE `keitaro_ips` ENGINE = MEMORY;

Недостаток этого решения в том, что в случае перезагрузки сервера MySQL вся таблица очищается.

Nginx

  • Увеличьте значение worker_processes = auto;
  • Увеличьте значение worker_connections по формуле: часовой_трафик / 60 / 2;

Статья по теме оптимизации nginx: http://dak1n1.com/blog/12-nginx-performance-tuning

Apache

  • Перейдите c Apache на PHP-FPM Инструкция по настройке);
  • Увеличьте значение MaxClients по формуле.

Статья по оптимизации Apache: http://www.ibm.com/developerworks/ru/library/l-tune-lamp-2/l-tune-lamp-2.html.

Настройки TDS

  • Сократите по максимуму время хранения архивной статистики: «Рефереры», «Ключевики», «Источники»;
  • Включите быстрое определение устройств в настройках;
  • Если интервал запуска cron.php установлен больше минуты, измените его на ежеминутный.

Примечание: Вы можете заказать настройку сервера нашими специалистами http://help.keitarotds.ru/services