Регистрация

Сайт о развлечениях


Чем заняться в свободное время
   
 
 
Измерение объема Помимо цен, столбчатые диаграммы нередко отражают объем торгов, т.е. количество акций, купленных или проданных за определенный период времени, представленный каждым столбиком. На дневной диаграмме объем торгов отражает совокупное количество акций, купленных или проданных в течение соответствующего торгового дня. По соглашению этот объем отображается в виде отдельной столбчатой диаграммы и обычно приводится непосредственно под диаграммой цены акций.
Сочетание накопления
  • Предприятие осуществляет права владения.
  • Предприятие не отвечает по обязательствам организации, которой оно подчинено.
Популярные новости

Тестирование Linux VS Windows Web Server

  1. Программное обеспечение для сравнительного анализа
  2. Тестовая среда
  3. Конфигурация веб-сервера
  4. Конфигурация сервера
  5. Результаты тестов
  6. Общее время съемки
  7. Заключение

Исходя из моего недавнего Тесты веб-сервера Linux а также Тесты веб-сервера Windows Я заметил, что в целом IIS работает лучше, чем все веб-серверы на базе Linux, которые я ранее тестировал.

Поскольку мои результаты по Linux были завершены в марте прошлого года, я снова запустил некоторые тесты с самыми последними версиями каждого веб-сервера, чтобы обеспечить достижение наилучшей производительности.

Итак, давайте выясним, как веб-серверы на базе Linux и Windows сравниваются друг с другом в статическом тесте скорости рабочей нагрузки.

Сначала я расскажу, как тесты были настроены и на самом деле сделаны, прежде чем перейти к результатам.

Программное обеспечение для сравнительного анализа

Еще раз я использовал Weighttpd чтобы выполнить реальные тесты производительности, так как я обнаружил, что он хорошо работает и довольно хорошо масштабируется с несколькими потоками.

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

Weighttpd запускался через ab.c скрипт, который существенно автоматизирует процесс тестирования для меня. Вместо того, чтобы запускать сотни команд weighttpd, я использую этот скрипт для автоматического перехода на разные уровни параллелизма.

weighttp -n 1000000 -c [шаг 0-1000: 10 раундов: 2] -t 8 -k "http: // xxxx: 80 / index.html"

Где -n - количество запросов, в этом случае мы отправляем 1 000 000 запросов для каждого указанного уровня параллелизма. Благодаря ab.c мы можем выполнять от 0 одновременных запросов до 1000 с шагом 10 за раз. Каждый тест также выполняется 2 раза, как указано в раундах, таким образом, я могу получить лучший средний результат, так как каждый уровень параллелизма выполняется 2 раза. Таким образом, в результате каждого теста на каждом уровне ядра веб-серверу по адресу http: // xxxx: 80 / index.html отправляется около 200 000 000 запросов GET.

Обычно я запускал тесты больше раз, чтобы получить лучшее среднее значение, однако, поскольку IIS реагировал так быстро, мне пришлось увеличить число своих обычных 100 000 запросов на каждом уровне параллелизма до 1 000 000, чтобы получить правильные числа, поэтому я бы рассмотрел приводит к приблизительному среднему значению по сравнению с более точным воспроизводимым результатом.

Флаг -t указывает количество потоков, которые нужно использовать, оно было изменено на 1, 2, 4 и 8 в зависимости от количества ядер ЦП, назначенных веб-серверу для каждого теста. Флаг -k также указывается, поскольку мы используем keep alive.

Тестовая среда

Для выполнения тестов я использовал четыре виртуальные машины Windows и одну CentOS Linux, которые работали поверх VMware ESXi 5.5, поэтому при работе на голом железе можно было получить очень небольшую дополнительную производительность, используя виртуальные машины позволили мне легко изменять количество доступных ядер ЦП при смене тестов. В любом случае, я не пытаюсь получить абсолютную лучшую производительность, поскольку каждый тест сопоставим с другими, тогда все в порядке, и я могу адекватно проверить, что мне нужно.

Сам физический сервер, на котором работал ESXi, имел два разъема для процессора, каждый с процессором Intel Xeon L5639 с частотой 2,13 ГГц (Turbo 2,7 ГГц), всего 12 ядер процессора. Числа, приведенные в этом посте, следует сравнивать только здесь, в этом посте, а не с другими тестами, которые я делал ранее, так как все здесь работало на том же оборудовании.

Всем виртуальным машинам было выделено 4 ГБ оперативной памяти, и они использовали одни и те же твердотельные накопители для хранения. Количество ядер ЦП на них было скорректировано до 1, 2, 4, а затем 8 для каждого теста. Только одна виртуальная машина, которая была протестирована, была запущена одновременно. Поэтому все виртуальные машины, будь то Windows или Linux, работали на одном и том же гипервизоре и оборудовании, поэтому единственные различия заключаются в уровне операционной системы и веб-сервера.

Конфигурация веб-сервера

Важно отметить, что эти веб-серверы обслуживали только статическую рабочую нагрузку, которая представляла собой 8-байтовую страницу index.html, содержащую строку «Тестирование». Цель этого теста состояла в том, чтобы получить представление о том, как различные веб-серверы работают с необработанной скоростью, предоставляя один и тот же файл. Мне было бы интересно провести дальнейшее тестирование в будущем для динамического контента, такого как PHP, дайте мне знать, если вы заинтересованы в этом.

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

Конфигурация сервера

Для этих тестов не было внесено никаких изменений в операционные системы Windows или Linux. Все серверы были полностью обновлены со всеми доступными обновлениями. Выпуск Windows Datacenter с графическим интерфейсом использовался для всех тестов Windows IIS.

Ниже приведен список версий операционной системы и веб-сервера, которые использовались во время этого теста.

  • Windows Server 2008 R2 - IIS 7.5
  • Windows Server 2012 - IIS 8.0
  • Windows Server 2012 R2 - IIS 8.5
  • Windows Server 2016 - IIS 10.0
  • CentOS 7.3 - Apache 2.4.6
  • CentOS 7.3 - Nginx 1.10.2
  • CentOS 7.3 - OpenLiteSpeed ​​1.4.24
  • CentOS 7.3 - Lighttpd 1.4.44

Результаты тестов

Теперь, когда все это было объяснено, вот результаты моих тестов в виде графиков.

Теперь, когда все это было объяснено, вот результаты моих тестов в виде графиков

1 CPU Core - Нажмите на изображение, чтобы развернуть

1 CPU Core - Нажмите на изображение, чтобы развернуть

2 ядра процессора - нажмите на изображение, чтобы развернуть

2 ядра процессора - нажмите на изображение, чтобы развернуть

4 ядра процессора - нажмите на изображение, чтобы развернуть

4 ядра процессора - нажмите на изображение, чтобы развернуть

8 ядер процессора - нажмите на изображение, чтобы развернуть

Общее время съемки

Этот окончательный график просто показывает, сколько времени потребовалось для выполнения испытаний, в формате часы: минуты: секунды. Имейте в виду, как упоминалось ранее, каждый тест приведет к примерно 200 000 000 запросов GET для страницы index.html. Общее время Apache не отображалось, так как результаты слишком сильно искажали график. Результат одного ядра занял более 21 часа.

Результат одного ядра занял более 21 часа

Общее время, прошедшее - нажмите на изображение, чтобы развернуть

Заключение

Результаты - это то, что я ожидал, основываясь на индивидуальных результатах моих предыдущих тестов веб-серверов Windows и Linux, однако я все еще удивлен, когда вижу эти результаты. Мне очень интересно узнать, почему серверы Windows IIS превосходят почти все протестированные веб-серверы Linux во всех тестах.

Во всех тестах мы также видим замедление Lighttpd после отметки 600 одновременных запросов, в то время как в первых трех тестах Nginx увеличивается при более высоких уровнях параллелизма.

Только на более высоких основных уровнях веб-серверы на основе Linux начинают догонять, а именно в 8-ядерном тесте, где OpenLiteSpeed ​​и Nginx работают наравне с IIS. С учетом того же оборудования платформа Windows с IIS, по-видимому, быстрее справляется с этой статической рабочей нагрузкой, используя только стандартные настройки операционной системы и веб-сервера. Вполне возможно, стоит продолжить тестирование Apache / Nginx на Windows, чтобы увидеть, как это можно сравнить с Linux.

связанные с