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

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

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

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

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам