HTTP по сравнению с производительностью HTTPS

360
задан Ry- 15 July 2013 в 07:39
поделиться

13 ответов

Существует очень простой ответ на это: Профиль производительность Вашего веб-сервера для наблюдения то, что потеря производительности для конкретной ситуации. существует несколько инструментов там для сравнения производительности HTTP по сравнению с сервером HTTPS (JMeter, и Visual Studio приходят на ум), и они довольно просты в использовании.

Никто не может дать Вам значимый ответ без [приблизительно 111] информация о природе Вашего веб-сайта, аппаратных средств, программного обеспечения и конфигурации сети.

, Поскольку другие сказали, там будет немного находиться на одном уровне издержек из-за шифрования, но это очень зависит от:

  • Аппаратные средства
  • программное обеспечение Server
  • Отношение динамических по сравнению со статическим содержанием
  • Клиентское расстояние до сервера
  • Типичная продолжительность сессии
  • И т.д. (мой любимый)
  • Кэширующееся поведение клиентов

, По моему опыту, серверы, которые тяжелы на динамическом контенте, имеют тенденцию повлияться меньше HTTPS, потому что время, проведенное шифрование (издержек SSL), незначительно по сравнению со временем поколения содержания.

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

Редактирование: Одна точка, которая была поднята несколькими другими, - то, что квитирование SSL является крупной стоимостью HTTPS. Это корректно, который является, почему "типичная продолжительность сессии" и "кэширующееся поведение клиентов" важны.

Многие, очень короткие сессии означают, что квитирование времени сокрушит любые другие показатели производительности. Более длительные сессии будут означать, что стоимость квитирования будет понесена в начале сессии, но последующие запросы будут иметь относительно низко наверху.

Клиент, кэширующийся, может быть сделан на нескольких шагах, где угодно от крупномасштабного прокси-сервера вниз к отдельному кэшу браузера. Обычно содержание HTTPS не будет кэшироваться в общем кэше (хотя несколько прокси-серверов могут использовать поведение типа man-in-the-middle для достижения этого). Много содержания HTTPS кэша браузеров для текущей сессии и часто времена через сессии. Влияние не кэшируемый или меньше кэширующееся означают, что клиенты будут получать то же содержание более часто. Это приводит к большему количеству запросов и пропускной способности для обслуживания того же числа пользователей.

230
ответ дан Elliot Cameron 23 November 2019 в 00:15
поделиться

Это почти наверняка будет верным, учитывая, что SSL требует дополнительного шага шифрования, которое просто не требуется не-SLL HTTP.

-1
ответ дан Orion Adrian 23 November 2019 в 00:15
поделиться

Более важное различие в производительности - то, что сессия HTTPS является ketp, открытым, в то время как пользователь соединен. HTTP 'сессия' длится только единственный запрос объекта.

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

-1
ответ дан Martin Beckett 23 November 2019 в 00:15
поделиться

HTTPS имеет шифрование/дешифрование наверху, таким образом, это всегда будет немного медленнее. Завершение SSL является очень интенсивным ЦП. Если у Вас есть устройства для разгрузки SSL, различие в задержках могло бы быть едва примечательным в зависимости от загрузки, под которой находятся серверы.

-1
ответ дан Corey Goldberg 23 November 2019 в 00:15
поделиться

Существует способ измерить это. Инструмент от апача, названного jmeter, измерит пропускную способность. При установке большой выборки сервиса с jmeter, в управляемой среде, с и без SSL, необходимо получить точное сравнение относительной стоимости. Я интересовался бы Вашими результатами.

0
ответ дан dacracot 23 November 2019 в 00:15
поделиться

Во многих случаях влияние производительности квитирований SSL будет смягчено тем, что сессия SSL может кэшироваться на обоих концах (рабочий стол и сервер). На машинах Windows, например, сессия SSL может кэшироваться в течение максимум 10 часов. См. http://support.microsoft.com/kb/247658/EN-US . Некоторые акселераторы SSL будут также иметь параметры, разрешающие Вам настроить время, сессия кэшируется.

Другое влияние для рассмотрения - то, что статическое содержание, подаваемое по HTTPS, не будет кэшироваться прокси, и это может уменьшить производительность через многочисленных пользователей, получающих доступ к сайту по тому же прокси. Это может быть смягчено тем, что статическое содержание будет кэшироваться в рабочих столах также, кэш версий 6 и 7 Internet Explorer кэшируемый HTTPS статическое содержание, если не проинструктировано, чтобы сделать иначе (Инструменты Options/Advanced/Security/Do, Menu/Internet не сохраняют зашифрованные страницы на диск).

6
ответ дан 23 November 2019 в 00:15
поделиться

Я могу сказать Вам (как пользователь удаленного доступа), что та же страница по SSL несколько раз медленнее, чем через регулярный HTTP...

6
ответ дан Brian Knoblauch 23 November 2019 в 00:15
поделиться

Нет единственного ответа для этого.

Шифрование будет всегда использовать больше ЦП. Это может быть разгружено к выделенному оборудованию во многих случаях, и стоимость будет варьироваться выбранным алгоритмом. 3des является более дорогим, чем AES, например. Некоторые алгоритмы являются более дорогими для утройства шифрования, чем decryptor. У некоторых есть противоположная стоимость.

более дорогой, чем объем crypto является стоимостью квитирования. Новые соединения используют намного больше ЦП. Это может быть уменьшено с возобновлением сессии, за счет имения в наличии старых секретов сессии, пока они не истекают. Это означает, что маленькие запросы от клиента, который не возвращается для большего, являются самыми дорогими.

Для перекрестного интернет-трафика Вы не можете заметить эту стоимость в своей скорости передачи данных, потому что доступная пропускная способность является слишком низкой. Но Вы, конечно, заметите его в использовании ЦП на занятом сервере.

6
ответ дан Darron 23 November 2019 в 00:15
поделиться

текущий главный ответ не полностью корректен.

, Поскольку другие указали здесь, https требует квитирования и поэтому делает больше распространений в прямом и обратном направлениях TCP/IP.

В среде WAN обычно тогда задержка становится ограничивающим фактором а не увеличенным использованием ЦП на сервере.

Просто имеют в виду, что задержка от Европы до США может составить приблизительно 200 мс (torundtrip время).

можно легко измерить это (для случая отдельного пользователя) с HTTPWatch.

23
ответ дан Lii 23 November 2019 в 00:15
поделиться

В дополнение ко всему упомянутому до сих пор, имейте в виду что некоторые (все?) веб-браузеры не хранят кэшируемое содержание, полученное по HTTPS на локальном жестком диске из соображений безопасности. Это означает, что от перспективных страниц пользователя с большим количеством статического содержания, будет казаться, будет загружаться медленнее после того, как браузер перезапущен, и с точки зрения Вашего сервера объем запросов на статическое содержание по HTTPS будет выше, чем был бы по HTTP.

12
ответ дан Alexander 23 November 2019 в 00:15
поделиться

Чтобы действительно понять, как HTTPS увеличит Вашу задержку, необходимо понять, как устанавливаются Подключения HTTPS. Вот хорошая схема . Ключ - то, что вместо клиента, получающего данные после того, как, 2 "участка" (одно распространение в прямом и обратном направлениях, Вы отправляете запрос, сервер, отправляют ответ), клиент не получит данные по крайней мере до 4 участков (2 распространения в прямом и обратном направлениях). Так, если потребуется 100 мс для пакета для перемещения между клиентом и сервером, то первый Запрос HTTPS возьмет по крайней мере 500 мс.

, Конечно, это может быть смягчено путем многократного использования Подключения HTTPS (который браузеры должны сделать), но оно действительно объясняет часть того начального останова при загрузке веб-сайта HTTPS.

101
ответ дан Elliptical view 23 November 2019 в 00:15
поделиться

Издержки НЕ происходят из-за шифрования. На современном ЦП шифрование, требуемое SSL, тривиально.

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

Мера (использующий инструмент, такой как Firebug) время загрузки страницы, в то время как сервер находится на конце моделируемой ссылки высокой задержки. Инструменты существуют для моделирования высокой ссылки задержки - для Linux существует "netem". Сравните HTTP с HTTPS на той же установке.

задержка может быть смягчена в некоторой степени:

  • Обеспечение, что Ваш сервер использует сообщения проверки активности HTTP - это позволяет клиенту снова использовать сессии SSL, который избегает потребности в другом квитировании
  • Сокращение количества запросов как можно меньше - путем объединения ресурсов, где возможный (например, .js включают файлы, CSS) и ободрительное клиентское кэширование
  • Сокращают количество загрузок страницы, например, путем загрузки данных, не требуемых в страницу (возможно, в скрытом элементе HTML) и затем показа его с помощью клиентского сценария.
76
ответ дан MarkR 23 November 2019 в 00:15
поделиться

HTTPS требует начального квитирования, которое может быть очень медленным. Фактический объем данных, переданный как часть квитирования, не огромен (менее чем 5 КБ обычно), но для очень маленьких запросов, это может быть довольно мало служебными. Однако, как только квитирование сделано, очень быстрая форма симметричного шифрования используется, таким образом, издержки, там минимально. Нижняя строка: создание большого количества коротких запросов по HTTPS будет вполне немного медленнее, чем HTTP, но если Вы передадите много данных в единственном запросе, различие будет незначительно.

Однако проверка активности является поведением по умолчанию в HTTP/1.1, таким образом, Вы сделаете единственный квитирование и затем много запросов по тому же соединению. Это имеет значительное значение для HTTPS. Необходимо, вероятно, представить сайт (как другие предположили) удостоверяться, но я подозреваю, что различие в производительности не будет примечательно.

218
ответ дан Graeme Perrow 23 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

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