Назад | Перейти на главную страницу

Как я могу уменьшить время TCP-соединения с сервером под управлением node.js на EC2?

При профилировании своего приложения я заметил, что на панели Firebug Net время «Connecting» - то есть время ожидания TCP-соединения - постоянно составляет около 70–100 мс. См. Изображение ниже:

Конечно, по большому счету, 100 мс - это недолго, но я видел другие службы, которые отвечают 0 мс времени соединения. Так что, если другие серверы могут, я тоже смогу.

Есть какие-нибудь мысли о том, как я могу попытаться решить эту проблему?

Говоря с точки зрения веб-сервера и немного воспользовавшись firebug.

Я видел 0ms, о которых вы говорите, раньше, однако я также сказал, что это больше связано с чем-то, называемым KeepAlives (в Apache и других). Идея заключается в том, что вы делаете первоначальный запрос к веб-серверу, и если сохранение активности разрешено и включено соединение после того, как веб-сервер обслужил, этот запрос не закрывается немедленно, он остается активным в течение установленного количества времени до достижения тайм-аута. установленный в KeepAlive, это означает, что другие элементы на веб-странице могут быть запрошены на тот же веб-сервер и домен с установленным соединением, таким образом сохраняя моральный дух удерживающего устройства клиента, который должен повторно подключаться снова.

У него есть взлеты и падения, хотя он хорош, поскольку он немного улучшает скорость, он может повлиять на очень загруженное приложение, так как в приложение поступает так много запросов, которые ждут тайм-аута, что вы в конечном итоге можете исчерпать количество подключений. .

Это все в контексте веб-сервера, но я не понимаю, почему то же самое невозможно для узлового приложения. Однако я был бы удивлен, если бы вы могли видеть время соединения 0 мс для соединения, которое еще не открыто и не установлено, есть несколько пакетов, которые должны идти туда и обратно с SYN, SYN-ACK и ACK для TCP-соединений, все что на удаленных серверах займет более 0 мс.

Я уверен, что у кого-то есть идея получше на стороне узла, но я уверен, что это все еще полезно и актуально.

Ура, M