Почему https быстрее, чем http на моем сервере apache?

Информация о сервере:

$ httpd -v 
Server version: Apache/2.2.24 (Unix)
Server built:   May  8 2013 15:17:37

Я создаю самозаверяющий сертификат SSL с помощью openssl.

Тестовый код (Java с селеновым веб-драйвером):

      long startTime, useTime = 0, t;
      int count = 10;
      for (int i = 0; i < count; i++) {
         ChromeDriver driver = new ChromeDriver(capabilities);
         startTime = System.nanoTime();
         driver.get("https://*.*.*.*/pic.html");
         //When testing Http,it will be:driver.get("http://*.*.*.*/pic.html");
         //pic.html is a simple page with many images.
         t = System.nanoTime() - startTime;
         useTime += t;
         driver.quit();
      }
      System.out.println("Average Time: " + useTime/1000000.0/count +" ms");

Результат:

HTTPs:Average Time: 1718.13659 ms
HTTP:Average Time: 2484.122677 ms

Заранее спасибо.


person Community    schedule 11.05.2013    source источник
comment
Что такое стандартное отклонение?   -  person Flexo    schedule 11.05.2013
comment
Сколько раз вы запускали код? Такая статистика может быть более-менее адекватной, если запускать ее тысячу раз с определенным интервалом, а не 10 раз подряд.   -  person Eugene Mayevski 'Callback    schedule 11.05.2013
comment
@EugeneMayevski'EldoSCorp Я запускаю этот код много раз, все результаты https быстрее, чем http, без исключения   -  person    schedule 11.05.2013
comment
Время загрузки страницы @Flexo составляет в среднем +/- 200 мс.   -  person    schedule 11.05.2013
comment
Это может вам помочь: stackoverflow.com/questions/1468648/   -  person Sayakiss    schedule 11.05.2013


Ответы (2)


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

Вы можете убедиться в этом:

  • Использование несжимаемого содержимого (например, большого изображения в формате JPEG)
  • Значительное ускорение канала передачи (например, с помощью «localhost»)
person A.H.    schedule 11.05.2013
comment
Я думаю, что большой JPEG тоже будет сжат, я не понимаю, почему больший JPEG улучшит его. И я хочу протестировать его на Win7 (но мой сервер на RHEL5), поэтому мне нет смысла тестировать его на локальном хосте. - person ; 11.05.2013
comment
JPEG уже сжат, даже сжат с потерями. Следовательно, еще один шаг сжатия без потерь не приведет к значительному уменьшению размера. И что касается вашего второго пункта: я не говорю о проведении окончательных измерений с локальным хостом, я просто предлагаю проверить предположение, временно изменив настройку теста. Обратите внимание: это также может означать, что вы запускаете клиент и на сервере. - person A.H.; 11.05.2013
comment
Я сейчас использую JPEG, 13 картинок (всего 4,38 МБ). - person ; 11.05.2013
comment
Я сейчас использую JPEG, 13 картинок (всего 4,38 МБ). И новое время загрузки страницы: HTTPS: Среднее время: 1512,181204 мс HTTP: Среднее время: 2302,5691539 мс - person ; 11.05.2013
comment
Вы все еще используете HTML-файл со ссылками на эти изображения? Это большой HTML-файл? Включает ли этот HTML-файл дополнительные элементы, не связанные с изображениями, такие как загрузка файлов JavaScript или CSS? - person A.H.; 11.05.2013

Поскольку Apache и chrome (я вижу, вы используете chromedriver) оба поддерживают http2.0, который быстрее по причинам, отличным от шифрования, но работает только с шифрованием.

person Hans    schedule 29.03.2016