Я создаю динамический поиск (обновляется с каждым нажатием клавиши): моя текущая схема заключается в каждом нажатии клавиши отправить новый запрос AJAX на сервер и вернуть данные в JSON.WebSockets: полезно для уменьшения накладных расходов?
Я рассмотрел возможность открытия WebSocket для каждого сеанса поиска, чтобы сохранить некоторые накладные расходы. Я знаю, что это сэкономит время, но вопрос в том, действительно ли это стоит, учитывая эти параметры: 80 мс среднее время пинга 166ms: время между каждым нажатием клавиши, если пользователь набирает относительно быстро В худшем случае скорость передачи 1 МБ/с, причем каждый пакет данных должен приниматься при каждом нажатии клавиши не более 1 КБ. Приложение также занимает примерно 30-40 мс, чтобы сварить результаты поиска в DOM.
Я нашел это: HTTP vs Websockets with respect to overhead, но это был другой вариант использования.
Будут ли веб-порты сокращать что-либо помимо чистых HTTP-накладных расходов? Сколько стоит HTTP-накладные расходы (при отсутствии куки-файлов и минимальных заголовков)?
Я думаю, что HTTP-запросы открывают новый сетевой сокет для каждого запроса, в то время как WebSocket позволяет нам использовать только один раз. Если мое понимание верное, каковы фактические накладные расходы при открытии нового сетевого сокета?
WebSockets стоит того, когда сервер помещает сообщения в клиенте – Raynos
я сделал нечто подобное раньше, и обнаружил, что сделать быстрее, вам может потребоваться отложить запрос Ajax на несколько мс, а затем отменить его, если пользователь вводит другой ключ. Затем, если пользователь быстро вводит запрос, вы делаете один запрос вместо многих. (хотя это фактически не отвечает на вопрос о веб-сайтах!) –
Вот что я делаю прямо сейчас. Он работает безупречно, но я обеспокоен тем, что при его развертывании приложение может начать бороться в более медленные времена ping. Проверьте приложение: http://77.70.33.151:8233/ Вы можете найти что-то вроде «firefox», «chromium» или «mozilla». – Ivo