Настройка CentOS для интенсивного трафика

Настройка CentOS для интенсивного трафика

Новый системный администратор здесь, управляет сервером CentOS. Прошедшая неделя была одной из самых захватывающих в моей карьере и полна изучения всевозможных новых вещей. Сегодня у меня есть еще одна задача, и она заключается в том, чтобы убедиться, что наш сервер может справиться с большим, чем мог наш старый общий хостинг.

Изначально мы были ограничены 200 одновременными соединениями на нашем общем хостинге GoDaddy. В конце концов мы переросли это (обычно во время кампаний/маркетинговых мероприятий) и перешли на виртуальный выделенный сервер. Я предполагаю, что количество соединений будет обрабатываться Apache.

На какие конфигурации следует обратить внимание, чтобы пропускать больше трафика?

решение1

Вы говорите только о предоставлении статических веб-страниц? Если у вас есть какой-либо программный бэкенд, есть множество разных ответов на этот вопрос, но для Apache это определенно модель процесса и количество разрешенных процессов/потоков. Вы также хотите прочитать общие руководства по настройке UNIX Apache и убедиться, что у вас есть адекватные процессы для каждого пользователя и открытые файлы (ulimit -n и -u показывают это; установите с помощью nproc и nofile в /etc/security/limits.conf и включите это, добавив "session required /lib/security/pam_limits.so" в /etc/pam.d/login).

В старых Apache вы всегда используете модель "prefork", которая генерирует отдельный процесс на поток - это старая настройка MaxClients. Если вы используете кучу модулей и т. д., 200-250 процессов Apache могут легко заполнить машину, которая имеет лишь скромное количество оперативной памяти. Убедитесь, что вы используете более новый Apache и используете MPM "worker", который использует другую модель потоков, это даст вам немного больше на сервер (требуются некоторые дополнительные настройки для настройки).

Если вам нужна экстремальная масштабируемость, переходите на nginx или что-то подобное с Apache. Но если сценарий просто "немного больше 200", Apache подойдет.

Обязательно установите достаточно низкое значение тайм-аута, если только вы не обслуживаете огромные файлы, например, 30 или около того.

Используйте сжатие и кэширование.

решение2

Также, поскольку вы достигнете более высокой нагрузки, вам может потребоваться настроить параметры брандмауэра Linux, особенно модуль conntack. В Интернете есть несколько статей, моя здесь:http://timanovsky.wordpress.com/2009/04/10/tuning-linux-firewall-connection-tracker-ip_conntrack/

Связанный контент