Назад | Перейти на главную страницу

Привет сервера Apache в SSL Slow

Я пытаюсь устранить проблему с SSL в Apache. Я использовал Wireshark для захвата пакетов, и я вижу, что клиентское приветственное сообщение выходит, а затем примерно через 10 секунд или около того я возвращаю привет серверу. Как только соединение SSL установлено, последующие запросы HTTPS выполняются быстрее.

Я использую / dev / urandom для энтропии, и, думаю, у меня есть много возможностей. Моя загрузка процессора почти ничего, но я получаю около 10 запросов в секунду.

Я использую стандартные настройки Apache 2.2.14 на Ubuntu 10.04. Мой сертификат - это сертификат SAN от GoDaddy.

Какие шаги я должен предпринять, чтобы узнать, почему мой сервер так долго отвечает через SSL? HTTP работает быстро, но HTTPS очень медленный.

Редактировать:

Вот изображение, которое показывает привет клиенту, а затем, примерно через 10 секунд, привет серверу:

Увеличение количества MaxClients, скорее всего, решит эту проблему.

Обратите внимание, что значение по умолчанию для MaxClients - 256, поэтому, если это изменение решило проблему, то у вас, вероятно, был параметр для MaxRequestWorkers, который был немного ниже. Обратите внимание, что MaxClients - это устаревшее имя, а MaxRequestWorkers - это новое имя, поэтому, если у вас было меньше MaxRequestWorkers, а затем добавили MaxClients позже в конфигурации, значение MaxClients переопределит ваше более низкое значение MaxRequestWorkers, устраняя проблему.

Что касается того, почему это произошло только на HTTPS, я подозреваю, что это связано с тем, что клиенты браузера более агрессивно поддерживают соединения при использовании HTTPS (что понятно). Таким образом, гораздо легче исчерпать доступные клиенты.

Я увеличил количество MaxClients в конфигурации apache до 256, перезагрузил apache, и все значительно улучшилось. Мне трудно поверить, что это была проблема, потому что HTTP был как всегда быстрым, а HTTPS - медленным.

apache2ctl status сообщает «185 запросов в настоящее время обрабатываются», а параметр MaxClients был равен 150 до того, как я внес изменения. В этом есть смысл, но опять же, почему HTTP должен быть быстрым?

cat /proc/sys/kernel/random/entropy_avail сообщает 190.

Apache 2.2.14 - это последняя версия apache, доступная для Ubuntu 10.04.