
Веб-сервер Apache является самым популярным веб-сервером благодаря своей мощности и универсальности. Однако по мере роста посещаемости вашего сайта производительность Apache может стать серьезной проблемой для ваших посетителей. Узнайте о трех простых способах повышения производительности веб-сервера Apache.
Требования
- Облачный сервер с ОС Linux (Ubuntu 16.04 или CentOS 7)
- Установленный и запущенный веб-сервер Apache
Apache по умолчанию установлен и работает на стандартной установке Linux. Если ваш сервер был создан с минимальной установкой, вам нужно будет установить и настроить Apache, прежде чем продолжить.
Обновление Apache
Как и все программное обеспечение на вашем сервере, важно поддерживать Apache в актуальном состоянии. Новые версии Apache содержат исправления ошибок и улучшения производительности, которые могут значительно повысить безопасность и производительность вашего веб-сервера.
Вы можете проверить наличие новых версий программного обеспечения и обновить установленные пакеты с помощью команды:
- CentOS 7:sudo yum update
- Ubuntu 16.04sudo apt-get update
Снимите с Apache бремя обработки кода
Модули Apache обеспечивают быстрое и простое решение для обработки кода, необходимого для работы вашего сайта. Одними из самых популярных модулей являются mod_php для PHP, mod_rails для Ruby on Rails и mod_python для Python.
Однако за эти модули приходится платить: они возлагают бремя обработки кода на Apache, что может замедлить время отклика сайта в целом.
Чтобы повысить производительность Apache, перейдите на эти альтернативные решения:
- PHP:php-fpm
- Ruby:Unicorn
- Python:uWSGI или gnunicorn
Изменение настроек MaxKeepAliveRequests, KeepAlive и KeepAliveTimeout в Apache
Три важных параметра Apache, которые можно настроить для повышения производительности, это MaxKeepAliveRequests, KeepAlive и KeepAliveTimeout.
MaxKeepAliveRequests устанавливает максимальное количество запросов, принимаемых на одно соединение. Чем выше это число, тем лучше производительность сервера, до определенного предела. Рекомендуемое значение — 500.
KeepAlive устанавливает, будет ли Apache разрешать более одного запроса на одно соединение. В CentOS 7 по умолчанию установлено значение Off. Серверы с высоким трафиком могут значительно повысить производительность, если изменить значение на On.
KeepAliveTimeout устанавливает количество секунд, в течение которых Apache будет ждать нового запроса от соединения, прежде чем закрыть соединение. Это число должно быть минимальным. Рекомендуемое значение — от 1 до 5.
Чтобы изменить эти настройки, откройте для редактирования основной конфигурационный файл Apache:
- CentOS 7:sudo nano /etc/httpd/conf/httpd.conf
- Ubuntu 16.04:sudo nano /etc/apache2/apache2.conf
Добавьте следующие строки в этот файл, настроив значения по своему усмотрению:
MaxKeepAliveRequests 500
KeepAlive On
KeepAliveTimeout 3
Сохраните и выйдите из файла. Затем перезапустите Apache, чтобы изменения вступили в силу:
- CentOS 7:sudo systemctl restart httpd
- Utu 16.04:sudo systemctl restart apache2