Здесь новый системный администратор, управляющий сервером CentOS. Прошедшая неделя была одной из самых захватывающих недель в моей карьере, и она была полна изучения множества новых вещей. Однако сегодня у меня есть другая задача - убедиться, что наш сервер может обрабатывать больше, чем был способен наш старый общий хостинг.
Изначально мы были ограничены 200 одновременными подключениями на нашем виртуальном хостинге GoDaddy. В конце концов мы переросли это (обычно во время кампаний / маркетинговых мероприятий) и перешли на виртуальный выделенный сервер. Я предполагаю, что количество подключений будет обрабатываться Apache.
О каких конфигурациях следует помнить, чтобы пропускать больше трафика?
Вы просто говорите об обслуживании статических веб-страниц? Если у вас есть какой-либо программный бэкэнд, на это есть множество разных ответов, но для Apache это определенно модель процесса и разрешенное количество процессов / потоков. Вы также хотите прочитать общие руководства по настройке UNIX Apache и убедиться, что у вас есть соответствующие процессы для каждого пользователя и открытые файлы (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/