Существует очень простой ответ на это: Профиль производительность Вашего веб-сервера для наблюдения то, что потеря производительности для конкретной ситуации. существует несколько инструментов там для сравнения производительности HTTP по сравнению с сервером HTTPS (JMeter, и Visual Studio приходят на ум), и они довольно просты в использовании.
Никто не может дать Вам значимый ответ без [приблизительно 111] информация о природе Вашего веб-сайта, аппаратных средств, программного обеспечения и конфигурации сети.
, Поскольку другие сказали, там будет немного находиться на одном уровне издержек из-за шифрования, но это очень зависит от:
, По моему опыту, серверы, которые тяжелы на динамическом контенте, имеют тенденцию повлияться меньше HTTPS, потому что время, проведенное шифрование (издержек SSL), незначительно по сравнению со временем поколения содержания.
Серверы, которые тяжелы при обслуживании довольно маленького набора статических страниц, которые могут легко кэшироваться в памяти, страдают от намного более высоких издержек (в одном случае, пропускная способность была разделена на два на "интранет").
Редактирование: Одна точка, которая была поднята несколькими другими, - то, что квитирование SSL является крупной стоимостью HTTPS. Это корректно, который является, почему "типичная продолжительность сессии" и "кэширующееся поведение клиентов" важны.
Многие, очень короткие сессии означают, что квитирование времени сокрушит любые другие показатели производительности. Более длительные сессии будут означать, что стоимость квитирования будет понесена в начале сессии, но последующие запросы будут иметь относительно низко наверху.
Клиент, кэширующийся, может быть сделан на нескольких шагах, где угодно от крупномасштабного прокси-сервера вниз к отдельному кэшу браузера. Обычно содержание HTTPS не будет кэшироваться в общем кэше (хотя несколько прокси-серверов могут использовать поведение типа man-in-the-middle для достижения этого). Много содержания HTTPS кэша браузеров для текущей сессии и часто времена через сессии. Влияние не кэшируемый или меньше кэширующееся означают, что клиенты будут получать то же содержание более часто. Это приводит к большему количеству запросов и пропускной способности для обслуживания того же числа пользователей.
Это почти наверняка будет верным, учитывая, что SSL требует дополнительного шага шифрования, которое просто не требуется не-SLL HTTP.
Более важное различие в производительности - то, что сессия HTTPS является ketp, открытым, в то время как пользователь соединен. HTTP 'сессия' длится только единственный запрос объекта.
Это Вы выполняете сайт с большим количеством параллельных пользователей, ожидаете покупать большую память.
HTTPS имеет шифрование/дешифрование наверху, таким образом, это всегда будет немного медленнее. Завершение SSL является очень интенсивным ЦП. Если у Вас есть устройства для разгрузки SSL, различие в задержках могло бы быть едва примечательным в зависимости от загрузки, под которой находятся серверы.
Существует способ измерить это. Инструмент от апача, названного jmeter, измерит пропускную способность. При установке большой выборки сервиса с jmeter, в управляемой среде, с и без SSL, необходимо получить точное сравнение относительной стоимости. Я интересовался бы Вашими результатами.
Во многих случаях влияние производительности квитирований 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 не сохраняют зашифрованные страницы на диск).
Я могу сказать Вам (как пользователь удаленного доступа), что та же страница по SSL несколько раз медленнее, чем через регулярный HTTP...
Нет единственного ответа для этого.
Шифрование будет всегда использовать больше ЦП. Это может быть разгружено к выделенному оборудованию во многих случаях, и стоимость будет варьироваться выбранным алгоритмом. 3des является более дорогим, чем AES, например. Некоторые алгоритмы являются более дорогими для утройства шифрования, чем decryptor. У некоторых есть противоположная стоимость.
более дорогой, чем объем crypto является стоимостью квитирования. Новые соединения используют намного больше ЦП. Это может быть уменьшено с возобновлением сессии, за счет имения в наличии старых секретов сессии, пока они не истекают. Это означает, что маленькие запросы от клиента, который не возвращается для большего, являются самыми дорогими.
Для перекрестного интернет-трафика Вы не можете заметить эту стоимость в своей скорости передачи данных, потому что доступная пропускная способность является слишком низкой. Но Вы, конечно, заметите его в использовании ЦП на занятом сервере.
текущий главный ответ не полностью корректен.
, Поскольку другие указали здесь, https требует квитирования и поэтому делает больше распространений в прямом и обратном направлениях TCP/IP.
В среде WAN обычно тогда задержка становится ограничивающим фактором а не увеличенным использованием ЦП на сервере.
Просто имеют в виду, что задержка от Европы до США может составить приблизительно 200 мс (torundtrip время).
можно легко измерить это (для случая отдельного пользователя) с HTTPWatch.
В дополнение ко всему упомянутому до сих пор, имейте в виду что некоторые (все?) веб-браузеры не хранят кэшируемое содержание, полученное по HTTPS на локальном жестком диске из соображений безопасности. Это означает, что от перспективных страниц пользователя с большим количеством статического содержания, будет казаться, будет загружаться медленнее после того, как браузер перезапущен, и с точки зрения Вашего сервера объем запросов на статическое содержание по HTTPS будет выше, чем был бы по HTTP.
Чтобы действительно понять, как HTTPS увеличит Вашу задержку, необходимо понять, как устанавливаются Подключения HTTPS. Вот хорошая схема . Ключ - то, что вместо клиента, получающего данные после того, как, 2 "участка" (одно распространение в прямом и обратном направлениях, Вы отправляете запрос, сервер, отправляют ответ), клиент не получит данные по крайней мере до 4 участков (2 распространения в прямом и обратном направлениях). Так, если потребуется 100 мс для пакета для перемещения между клиентом и сервером, то первый Запрос HTTPS возьмет по крайней мере 500 мс.
, Конечно, это может быть смягчено путем многократного использования Подключения HTTPS (который браузеры должны сделать), но оно действительно объясняет часть того начального останова при загрузке веб-сайта HTTPS.
Издержки НЕ происходят из-за шифрования. На современном ЦП шифрование, требуемое SSL, тривиально.
издержки происходят из-за квитирований SSL, которые длинны и решительно увеличивают число распространений в прямом и обратном направлениях, требуемых для сессии HTTPS по HTTP один.
Мера (использующий инструмент, такой как Firebug) время загрузки страницы, в то время как сервер находится на конце моделируемой ссылки высокой задержки. Инструменты существуют для моделирования высокой ссылки задержки - для Linux существует "netem". Сравните HTTP с HTTPS на той же установке.
задержка может быть смягчена в некоторой степени:
HTTPS требует начального квитирования, которое может быть очень медленным. Фактический объем данных, переданный как часть квитирования, не огромен (менее чем 5 КБ обычно), но для очень маленьких запросов, это может быть довольно мало служебными. Однако, как только квитирование сделано, очень быстрая форма симметричного шифрования используется, таким образом, издержки, там минимально. Нижняя строка: создание большого количества коротких запросов по HTTPS будет вполне немного медленнее, чем HTTP, но если Вы передадите много данных в единственном запросе, различие будет незначительно.
Однако проверка активности является поведением по умолчанию в HTTP/1.1, таким образом, Вы сделаете единственный квитирование и затем много запросов по тому же соединению. Это имеет значительное значение для HTTPS. Необходимо, вероятно, представить сайт (как другие предположили) удостоверяться, но я подозреваю, что различие в производительности не будет примечательно.