@pavelkunyavskiy

Какой размер задержки HTTP ответа можно считать допустимым?

Поднял базовый API сервер а NodeJS, которые делает простой запрос к базе MongoDB и возвращает JSON.
Хостинг - самый дешевый дроплет на Digital Ocean.

Заметил что на запрос и ответ в среднем уходит порядка 600 ms, и мне кажется это довольно большим значением. Сначала подумал повесить сверху Redis для кеширования, но локально запрос проходит за 30 ms, так что узкое горло - это не Нода и Монга, а nginx/сервер/хостинг-провайдер/интернет-провайдер.

1. Нормальная ли это задержка 600 миллисекунд на простейший запрос (локально 30 мс)? С какого порога можно волноваться?
2. Если это не нормально, то что исправлять, кто виноват?
3. Что можно оптимизировать для ускорения?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
  • SLIDERWEB
    @SLIDERWEB
    ИТ-Куроводитель
    А Вы не пробовали померить сетевую задержку до своего хоста и до ближайшего к нему шлюзу (согласно трассировке)? Ведь время ответа криенту != времени ответа сервера. Распространение сигнала, даже по оптическим каналам, не мгновенное, и ограничено скоростью света. Значит в упрощенном виде время ответа будет сложным: $resp_time = $query_time + $net_latency
    Из Новосибирска до DO (ЦОД в Амстердаме) около 70мс, а до OVH (ЦОД в Страсбурге) уже в районе 90мс, хотя между этими площадками немногим более 600км и 6,5мс задержка.
    Все зависит от того откуда Вы делаете запрос, и как именно маршрутизируется трафик между клиентом и сервером.
    Ответ написан
  • @aleksejjjj
    Насколько помню, гугл рекомендует укладываться в 200мс. Могу ошибиться с цифрой, гуглите для уточнения. Но ваша проблема явно не в этом, и пытаться добавить Redis не пытаясь найти причину смысла не имеет.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы