WSSpeedTest — обработка измерения скорости работы web сервера

Обработка собирает статистику по скорости ответов web сервера за длительный период времени.

 У меня на одном из объектов информация об операциях на удаленных точках в онлайне передается в БД путем обыкновенных запросов к веб-серверу. (Так нужно было). При этом на большинстве точек единственно возможным каналом связи является сотовая связь (GPRS). Понятно, что в общей скорости работы такой канал является самым «узким» местом.

Для того, чтобы «выжать» из него максимум,  имеем следующие возможности:

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

 Данные условия необходимо рассматривать во взаимосвязи. Сравнивать два хостинга имеет смысл не абстрактно, а путем измерения скорости ответов непосредственно на том компьютере, откуда будут направляться запросы. Даже формально «более медленный» хостинг может показать худшие результаты например в случае, если он предоставлен тем же провайдером, что и канал связи.

При условии, что сами по себе запросы относительно небольшие, по сути все, что нам требуется — получать ответ максимально быстр. Разумеется это «максимально быстро» должно быть еще и «максимально стабильно». То есть тестирование необходимо проводить в течение длительного време

С таким заявленными функциям существует много программ и веб-сервисов, но почему-то ничего подходящего я не нашел:

  • или тестируется тупо скорость соединения (скачивание большого количества информации). В моем случае совершенно не показательно, т.к. запросы и ответы на них очень маленькие (несколько сотен а то и десятков байт)
  • тестируется «пинг». По момему такие тесты годятся только для того, чтобы определить отсутствие связи (но не наоборот — не однократно встречал ситуацию. когда пинг отличный, а связи  нет).
  • большинство тестов — «мгновенные». Это приятно конечно, когда результат получаешь сразу, но такой результат ни о чем не говорит. Так как через 5 минут он может оказаться совершенно другим.
  • нет нормального анализа результатов. Среднее время ответа в 1 сек может означать, что ответ занял по 1 сек на каждый из 10 запросов, или 8 запросов по 0,1 сек и 2 запроса по 4,6 сек. — это очень существенно.

В итоге написал обработку, которая и решает вышеуказанные задачи. При этом:

  • Никаких синтетических показателей. Делаем самые что ни на есть обыкновенные http запросы. Можно запрашивать файлы как по фиксированному списку, так создавать запросы на основании имеющегося справочника. Например, если в конфигурации есть справочник «номенклатура», то можно перебирать справочник и делать запросы вида http://mysite.com/catalog/item.php?code=[код номенклатуры].
  • Обработка предназначена для сбора статистики в течение длительного времени. Для этого настраиваем расписание работы. Например, можно настроить расписание с 9 до 18 по рабочим дням в течение недели. Можно настроить несколько расписаний и получить отдельные результаты по рабочим дням и по выходным.
  • Результаты работы сохраняются в обычном текстовом файле, который можно загрузить в Excel или использовать любую программу для статистического анализа.
  • Кроме того, обработка предоставляет возможность формирования 2 диаграмм — частотной (распределение скорости ответов по частоте) и временная (распределение скорости ответов по времени). На диаграммах можно сравнить результаты нескольких тестов.
  • Обработка может использоваться в любой конфигурации.

 А вот теперь немного примеров использования обработки:

Внимание! Эти результаты приведены в качестве примера использования обработки и справедливы только для конкретного места, где проводилось измерение, кроме того они могут изменяться во времени. (Установка операторами новых базовых станций или открытие рядом офиса крупной компании где у большинства сотрудников телефона на корпоративном контракте одного из операторов). На надо экстраполировать их на всю Россию. Проводите измерение в конкретном интересующем Вас месте.

 

Сравним двух операторов: МТС и Мегафон 

Это — интервальная диаграмма, показывает как распределяется время на получение ответа сервера по частоте.

В данном случае:

При подключении через оператора МТС 60% ответов уложились в 1,6 сек. У Мегафона за этот интервал времени пришло только 6% ответов. Большая часть ответов (опять же 60%) пришла через Мегафон в интервале 1,59-2,41 сек.

Некоторый процент запросов обрабатывался длительное время (более 8,81 сек.) У Мегафона таких оказалось меньше. То есть, время ожидания ответа хотя и выше, чем у МТС, но более стабильно.

Запросов, на которые ответы вообще не пришли, при работе через МТС оказалось около 1%, а при работе через Мегафон — около 4%.

 

Проанализируем работу через оператора Мегафон в течение дня

Эта диаграмма состоит из двух частей. Сверху отбражается время обработки запросов. Тонкая черта соединяет абсолютные минимум и максимум. Так, в интервале 10.00-10-30 это время колебалось в интервале от ~2-53 сек. Толстый прямоугольник показывает, интервал времени, в который уложился выбранный процент (в данном случае — 70) запросов. Этот интервал составил ~ 2,2-4,5 сек.

Снизу отображается количество запросов, оставшихся без ответа. Как видим, пик пришелся на 10.00-10.30 (~44 запроса).

В целом результаты вполне понятны — наибольшая загрузка в момент начала рабочего дня, и чуть большая — после обеда.

Однако, выводы делать рано — ведь кроме оператора связи на скорость обработки запросов влияет хостинг. А наш график был построен на основании тестирования в течение 2х дней, первый день хостинг был один, второй день  другой.

 

Сравним два хостинга

Диаграмма аналогична предыдущей. Как видим, большой процент ошибок в интервале 10.00-10.30 целиком «на совести» хостинга aha.ru. А вот колебания увеличения процента времени ответов уже на совести оператора.

А таки диаграмма нам однозначно показывает, что, по крайней мере при работе через оператора Мегафон хостинг nichost.ru с точки зрения времени ответа сервера предпочтительнее.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *