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

18.12.10

Разработка - EDT

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

Скачать исходный код

Наименование Файл Версия Размер
WSSpeedTest (для 1С 8.1)
.epf 44,78Kb
33
.epf 44,78Kb 33 Скачать бесплатно
WSSpeedTest (для 1С 8.2)
.epf 46,73Kb
15
.epf 46,73Kb 15 Скачать бесплатно

 У меня на одном из объектов информация об операциях на удаленных точках в онлайне передается в БД путем обыкновенных запросов к веб-серверу. (Так нужно было). При этом на большинстве точек единственно возможным каналом связи является сотовая связь (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 с точки зрения времени ответа сервера предпочтительнее.

См. также

Командная разработка облачных продуктов, используя 1С:EDT

DevOps и автоматизация разработки EDT Бесплатно (free)

Даже в рамках одной компании подходы к организации командной разработки могут отличаться: методикой работы с ветками, организацией тестовых и разработческих контуров, параллельным использованием хранилищ или полным переходом на Git. Расскажем, какие варианты распределения серверных стендов и организации CI/CD выбрали для своих команд тимлиды двух отделов, и как у них происходило внедрение 1С:EDT.

05.09.2023    1054    WhatIsLoveMakoveev    0    

4

Доработка типовой конфигурации в 1С:EDT. Разработка, тестирование, слияние, выпуск

DevOps и автоматизация разработки EDT Бесплатно (free)

Использование EDT дает преимущества даже для тех, кто до сих пор остается в конфигураторе. Достаточно настроить разбор основного хранилища разработки в GitConverter и автоматизировать CI на GitLab с помощью скриптов на 1С:Исполнителе. Статья о том, как задействовать для кодовой базы проекта валидацию EDT, используя встроенный механизм GitLab Code Quality, и генерировать дымовые тесты для Vanessa Automation.

23.08.2023    3964    doublesun    25    

33

EDT и полный стек CI/CD

EDT Тестирование QA Бесплатно (free)

EDT позволяет не только полноценно использовать гитфлоу при разработке – изолировать код по веткам в рамках задач и анализировать мерж-реквесты, но и нативно запускать тесты, а также видеть покрытие кода прямо в редакторе. Расскажем о том, как получить от 1С-разработки в EDT максимум пользы и автоматизировать сборку поставки из EDT с помощью Jenkins.

19.07.2023    3370    yukon    12    

36

EDT. Не активируется проектный контекст

EDT Россия Бесплатно (free)

Проблема не активирующегося контекста проекта в EDT и вариант ее обхода.

12.12.2022    1965    AntonChausov    2    

5

Куда привели 2 года работы с EDT

EDT Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

EDT позволяет работать с кодовой базой конфигураций напрямую – использовать GIT, помещать изменения в ветки и запускать тесты до попадания в основную кодовую базу, чтобы добиться «зеленых ночных сборок» для конфигурации. Разработчик из компании «Первый БИТ» Валерий Дыков на конференции Infostart Event 2021 Post Apocalypse рассказал, как безболезненно перейти на EDT и получить преимущества работы с GIT, продолжая работать в конфигураторе.

01.09.2022    8411    Begemoth80    21    

39

Ручная выгрузка и загрузка конфигурации

EDT Механизмы платформы 1С Платформа 1С v8.3 Россия Абонемент ($m)

Внешняя обработка позволяет выполнять выборочную выгрузку и загрузку объектов конфигурации 1С.

1 стартмани

26.08.2022    4111    10    user1041830    4    

9

Быстрое обновление базы 1С из XML-файлов конфигурации (EDT-GIT)

DevOps и автоматизация разработки EDT Обновление 1С Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Быстрое обновление конфигурации и базы данных 1С, вместо долгого обновления из EDT (1C:Enterprise Development Tools) при использовании хранилища GIT. Непосредственное обновлении базы на сервере баз данных (минуя сервер 1С) из XML-файлов конфигурации при помощи утилиты автономного сервера 1С - ibcmd.

1 стартмани

13.07.2022    12335    8    Bitnikov    19    

53
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Alex Prikol 09.05.12 19:17 Сейчас в теме
Такое обилие диаграмм.
Ну что ж, интересно было бы посмотреть.
2. Alex Prikol 09.05.12 19:18 Сейчас в теме
Это все штатными средствами или с использованием внешних компонент?
3. nafa 658 10.05.12 19:04 Сейчас в теме
(2)
ВК нет. Таймер из Windows. Все остальное штатное.
Оставьте свое сообщение