Существует ли какой-то отраслевой стандарт для неприемлемого времени ответа веб-приложения?
Есть пользовательское приложение (коммерческое готовое), которое я работаю над настройкой, где загрузка нескольких страниц занимает определенное время для определенных распределений данных. (Я говорю примерно 3 минуты для загрузки страницы в этом случае... и время растет в геометрической прогрессии).
Очевидно, что это неприемлемо, но есть ли там исследования, где я могу указать, какое приемлемое время ответа?
Я хотел бы провести хорошие исследования, которые, возможно, обсудят время отклика.
9 ответов
Исследование Якоба Нильсена ответило на это для любого приложения (веб-приложения не являются особенными в этом отношении):
- 0,1 секунды: ограничение для пользователей, чувствующих, что они непосредственно манипулируют объектами в пользовательском интерфейсе.
- 1 секунда: ограничение для пользователей, чувствующих, что они свободно перемещаются по командному пространству без необходимости чрезмерного ожидания компьютера.
- 10 секунд: ограничение для пользователей, которые следят за задачей.
Поэтому для веб-приложений вы должны поддерживать максимальное время отклика страницы в среднем не более 500 мс рядом с серверами, чтобы иметь веб-приложение, которое приятно использовать даже с задержкой в сети 200-300 мс.
Приемлемое время отклика пользовательского интерфейса основано на психологии человека и поэтому для веб-приложений такое же, как и для традиционных настольных приложений.
В зависимости от того, как конечный пользователь воспринимает выполняемую операцию, допустимое время ответа может составлять 1 секунду (например, для закрытия "диалогового окна") или 10 секунд (например, для отображения результатов расчета).
Гуру юзабилити Якоб Нильсен написал хорошую статью о приемлемом времени ответа веб-приложения.
В опубликованных рекомендациях по пользовательскому интерфейсу указано одинаковое допустимое время ответа, например:
Да, в статье Нильсена есть хорошая информация о том, как психология вовлечена. Здесь вы можете найти больше информации о том, почему "воспринимаемая производительность" имеет значение, а не только фактическое время отклика.
Некоторое время назад профессор сказал мне, что средний пользователь сдается после 10 секунд ожидания, и ничего не происходит. Видя, что что-то случится, вероятно, увеличится их тенденция ждать. Но это было некоторое время назад... когда перепонки были медленнее.
PythonЗапросы
Вероятно, это больше относится к серверной части и не учитывается во внешнем интерфейсе, который соответствует, тем не менее, я беру эту документацию в качестве ориентира.
Тайм-аут подключения - это количество секунд, в течение которых запросы будут ждать, пока ваш клиент установит соединение с удаленным компьютером (соответствует вызову ) в сокете. Рекомендуется устанавливать время ожидания подключения немного больше, чем кратное 3 , что является окном повторной передачи TCP-пакетов по умолчанию.
Из этих connect()DOCS
(2.1) До тех пор, пока не будет выполнено измерение времени приема-передачи (RTT) для сегмента, отправляемого между отправителем и получателем, отправителю СЛЕДУЕТ установить RTO <- 3 секунды (согласно RFC 1122 [Bra89]), хотя «откат» о повторной передаче, рассмотренное в (5.5), все еще применяется.
Обратите внимание, что в некоторых реализациях может использоваться таймер «пульса», который фактически дает значение от 2,5 до 3 секунд. Соответственно, нижняя граница 2,5 секунды также приемлема, при условии, что таймер никогда не истечет быстрее, чем 2,5 секунды. Реализации, использующие таймер пульса с гранулярностью G, НЕ ДОЛЖНЫ устанавливать таймер ниже 2,5 + G секунд.
Я опубликовал соответствующий вопрос и получил несколько интересных ответов, которые могут помочь. Увидеть
Что считается хорошим временем отклика для динамичного персонализированного веб-приложения?
Ответы на этот вопрос сосредоточены на поведении пользовательского интерфейса, и многие из них предполагают, что всегда существует жесткая связь между временем отклика сети и быстродействием пользовательского интерфейса.
Хотя это могло быть правдой 11 лет назад, когда был опубликован последний ответ, в наши дни стратегии реализации веб-страниц эволюционировали, и лучшие практики означают, что многие из вызовов XHR не зависят от того, чтобы сделать страницу незамедлительно ценной для пользователя.
Я подозреваю, что даже части этих ответов, связанные с психологией человека, со временем изменились - у людей в целом теперь более высокие ожидания и более низкий порог терпения для веб-страниц.
Здесь есть хороший пост в блоге, в котором утверждается, что на самом деле не существует отраслевого стандарта.
Может быть, нет хорошего способа сделать это.
∞ - наименее приемлемое время отклика.
После этого максимальное время, которое пользователь ожидает, займет много времени, которое сильно зависит от вашего сервиса.
Анимированная область значительно увеличит терпение пользователя, будь то песочные часы, вихрь, круг, даже бар, который заполняется и очищается снова и снова. Пока проблема явно не в том, что их действия не были услышаны, они будут ждать.