Сколько из хита производительности для https по сравнению с http для апача?

Как тот, кто использовал и (и продолжается к), я рекомендовал бы Hyper-V, особенно если Вы - прежде всего, магазин Microsoft. Мы переместили более чем 25 виртуальных машин от VMware до Hyper-V, использующего SCVMM, и миграции были безупречны. Нам было нужно больше памяти, поскольку в настоящее время Hyper-V еще не поддерживает сжатие/превышать возможности памяти, но память является дешевой прямо сейчас, и Hyper-V имеет эту функцию, прибывающую скоро.

VMware также имеет живую миграцию, но мы не видели потребность в этом. Эта функция прибывает в следующий выпуск для Hyper-V

Менеджер Hyper-V в порядке, если Вы имеете, просто имеют несколько хостов VM, но SCVMM добавляет много полезных функций, включая библиотеки и объединенное представление хостов VMware и Hyper-V.

Мы продолжим использовать VMware, поскольку один из наших серверов стар и поддерживает 32 бита только, и мы получаем некоторый VMs от наших клиентов. Но все наши новые VMs создаются с помощью Гиперпротив.

Мы также использовали SCVMM и создали библиотеки наших общих конфигураций. Настройка нового VM, включая именование и соединение с доменом все автоматизирована. Мы надеемся далее автоматизировать использование Powershell, видеть: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032409528&EventCategory=4&culture=en-US&CountryCode=US

В целом, функции, простота использования и стоимость приводят нас перемещаться в Hyper-V из VMware.

50
задан 21 July 2009 в 21:45
8 ответов

Для теста quick&dirty (т.е. никакая оптимизация вообще!) Я включил простой веб-сайт значения по умолчанию Ubuntu apache2 (который просто говорит, что "Работает!"), и с http и с https (самоподписанный сертификат) на локальной Ubuntu 9.04 VM и выполнил апачский сравнительный тест"ab"с 10 000 запросов (никакой параллелизм). Клиент и сервер был на том же machine/VM:

Результаты для http ("ab -n 10000 http://ubuntu904/index.html")

  • Время потрачено для тестов: 2,664 секунды
  • Запросы в секунду: 3753.69 (#/sec)
  • Время на запрос: 0,266 мс

Результаты для https ("ab -n 10000 https://ubuntu904/index.html"):

  • Время потрачено для тестов: 107,673 секунд
  • Запросы в секунду: 92.87 (#/sec)
  • Время на запрос: 10,767 мс

Если Вы более тщательно изучите (например, с tcpdump или wireshark) в tcp/ip коммуникации единственного запроса, то Вы будете видеть, что http случай требует 10 пакетов между клиентом и сервером, тогда как https требует 16: Задержка намного выше с https. (Больше о важности задержки здесь)

Активное добавление (ab опция -k) к тесту улучшает ситуацию, потому что теперь все запросы совместно используют то же соединение, т.е. SSL наверху ниже - но https все еще измерим медленнее:

Результаты для http с активным ("ab -k -n 10000 http://ubuntu904/index.html")

  • Время потрачено для тестов: 1 200 секунды
  • Запросы в секунду: 8334.86 (#/sec)
  • Время на запрос: 0,120 мс

Результаты для https с активным ("ab -k -n 10000 https://ubuntu904/index.html"):

  • Время потрачено для тестов: 2,711 секунды
  • Запросы в секунду: 3688.12 (#/sec)
  • Время на запрос: 0,271 мс

Заключение:

  • В этом простом тестовом сценарии https намного медленнее, чем http.
  • Это - хорошая идея включить поддержку https и сравнить Вашего веб-сайта, чтобы видеть, хотите ли Вы заплатить за https наверху.
  • Используйте wireshark для получения впечатления от SSL наверху.
57
ответ дан 28 November 2019 в 19:37
  • 1
    +1 Хорошее задание там. Спасибо за регистрацию чисел. –  M.N 22 July 2009 в 13:47
  • 2
    Мы можем получить некоторые спецификации на аппаратных средствах той машины? шифрование очень зависит от питания процессора. –  Matt Simmons 22 July 2009 в 14:37
  • 3
    Я недавно сделал большое тестирование на VPS и единственной самой большой вещи, что произведенная производительность была используемым шифром. При ограничении шифров 128 битами затем, необходимо смочь получить приблизительно 500-600 запросов в секунду. Используя шифр на 256 битов, который спадет до < 100 запросов в секунду. Я верю, когда я сделал свое собственное тестирование, это были 30 запросов в секунду. Очевидно, фактические числа зависят от Вашей машины. –  kovert 22 July 2009 в 16:03
  • 4
    Matt Simmons, я использовал 2 базовых 64-разрядных Ubuntu 9.04 VM (VMware Fusion), работающий на начале Mac 2008 Pro с 2x Четырехъядерный Intel Xeon CPUs на 2,8 ГГц. –  knweiss 22 July 2009 в 17:54

На современных серверах я сказал бы, что Ваше узкое место будет сетью и Вашим приложением, не шифрованием. TLS/SSL в апаче будет записан в справедливо оптимизированном C, так затмится Вашим кодом PHP, особенно если Вы будете собираться быть выполнением вещей как доступ к базе данных. Обслуживание статических файлов, вероятно, окажет большее влияние, поскольку шифрование станет большей частью целого процесса. Я не могу дать Вам конкретные числа, но я был бы удивлен, были ли это больше чем 5% и вероятно примерно несколько процентов.

10
ответ дан 28 November 2019 в 19:37
  • 1
    David прав, это зависит вида содержания, которое Вы имеете. Хороший путь состоял бы в том, чтобы сравнить с апачским местом размещения httpd.apache.org/docs/2.2/programs/ab.html –  radius 21 July 2009 в 22:20
  • 2
    Кроме скорости шифрования, что относительно квитирования SSL, которое окажет какое-либо влияние на производительность сервера и пропускную способность? –  erotsppa 21 July 2009 в 22:47
  • 3
    Квитирование SSL добавит несколько пакетов к передней стороне соединения. Влияние этого будет зависеть в широком масштабе от задержки соединения между сервером и клиентом. Сообщения проверки активности HTTP уменьшат влияние этого квитирования. –  David Pashley 22 July 2009 в 00:09

Ничего не принимайте, тестируйте его сами! На Ваших определенных веб-приложениях, конечно.

8
ответ дан 28 November 2019 в 19:37

Я нахожу, что на современных аппаратных средствах, более вероятно, буду вводом-выводом, направляющимся в конкретную транзакцию, чем я - процессор (вычисляют) связанный. Это особенно верно при разговоре о сжатии и шифровании. 128-разрядное шифрование тривиально в эти дни - я обычно становлюсь пораженным намного тяжелее создание и поставка исходящих страниц, чем я использую SSL и не заметил значительной разницы в производительности между http и трафиком HTTPS в нескольких годы.

1
ответ дан 28 November 2019 в 19:37

Я второй рекомендация для nginx. В моих собственных тестах это поддержало хорошо как специализированный SSL offloader.

1
ответ дан 28 November 2019 в 19:37

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

0
ответ дан 28 November 2019 в 19:37

Я могу подтвердить, что добавленная загрузка для шифрования является очень маленькой по сравнению с любым включенным элементом (сценарии, сеть...)

0
ответ дан 28 November 2019 в 19:37

По моему опыту, общее правило напрямую связано с тем, как большой ваш открытый ключ (например, 2048, против 4096, против 8192) все занимает значительно больше времени. Однако я с трудом могу заметить разницу в среде настольных компьютеров, но мобильные устройства - это то, где вы видите разницу, поскольку для этого требуются вычислительные мощности.

В целом это прискорбно, но SSL всегда и, вероятно, всегда будет иметь огромное снижение производительности.

0
ответ дан 28 November 2019 в 19:37

Теги

Похожие вопросы