Всем привет!
На работе попросили разработать стандарт скорости работы сервисов b2b системы, чтобы все это потом мерять jmeter-ом и автотестами.
Самостоятельно по адекватным значениям я могу подобрать данные по скорости(min max). Но хотелось бы посмотреть реализацию еще где-то.
Подскажите может есть какие-то примеры в ваших компаниях, полезные видосики или общедоступные документы?
Данные такие: система продажи договоров, условно говоря есть несколько журналов(договоров, сотрудников, платежей и т.д.), есть выгрузки, есть создание договора, есть печать.
Вот печать отдельно тоже интересует.
В гугле не забанили. Но по поиску “Стандарты скорости работы ПО” выдает что-то совсем непохожее…
Буду всем очень благодарен за помощь!
Нет стандартов, есть с нашей стороны простое понимание, что отклик на запрос пользователя должен быть произведён в определённое комфортное время для людей (обычно это около 3-4-5-6 секунд), конечно на разные типы запросов может быть разный временной отклик.
Например, начните с общего среднего времени отклика системы, комфортного для всех - например - 4,5 секунды (на мой взгляд, общее среднее, не очень хороший показатель, лучше оглядываться на перцентили).
Потом добавьте к требованиям чтобы 90-перцентиль был не сильно выше этих 4,5 секунд (например 5-5,5 секунд)
Потом добавьте чтобы 95-перцентиль был не выше, например 6 - 6,5 секунд.
Границы процентов перцентилий тоже можно регулировать для ваших требований, например сделать минимальным - 95.
И отталкиваясь от этих примерных рамок смотрите какие транзакции сильно влияют на эти характеристики и требуют оптимизации.
Есть ещё полезная характеристика как APDEX - чем ближе к 1, тем отзывчевее работает ваша система (вторая третья колонка - 2,5 и 3,5 секунды задаются в настройках jmetra, относительно их итоговый бал, обычно это то что ожидают - 3-4 секунды, и что могут вытерпеть - 4,5-5 секунд). Для моего примера только 6 и 11 запрос могут хоть как-то не рассердить пользователя ))).
Василий! Спасибо за совет.
По нагрузочному полностью согласен. За APDEX отдельное спасибо.
А у вас в компании помимо производительности системы и средних значений не используется документация при проектировании, в которой указывались бы временные рамки для отдельных вызовов? Ну например сохранение данных? Получение справочников или что-то подобное?
Просто такой момент субъективный получается. Кому-то(Например - мне) кажется 4-5 секунд - нормальный показатель, а кто-то скажет - “Больше секунды на запрос? Это вообще тормозная система!)”
Должны указываться, на мой взгляд, предполагаемое число пользователей системы. Отсюда надо плясать. Вот и идёт потом испытание - выдержит система такое количество, какие запасы прочности, какие временные рамки. Ведь можно систему поставить на гипотетический кластер из 100500 серверов, и всё будет выполнятся за миллисекунды, но какой ценой? А можно поставить на несколько машин, но тут уже будет другой отклик. Вот и надо найти баланс, тонкие места.