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

Как подсчитать количество байтов, используемых для рукопожатия HTTPS

Наше приложение отправляет относительно большое количество небольших запросов (ответы <50 байт) через HTTPS. Я хочу уменьшить использование полосы пропускания сервера. Я хочу сказать, сколько байтов используется для установления SSL-соединения, чтобы увидеть, стоит ли его оптимизировать (возможно, заменить сертификат SSL?).

Есть ли команда или инструмент, с помощью которого я могу точно измерить накладные расходы на SSL моего веб-сайта?

Если у вас нет соединения с очень низкой задержкой, но с низкой пропускной способностью, основная проблема производительности заключается не в количестве байтов, переданных в ходе подтверждения TLS, а в нескольких циклах приема-передачи, необходимых для установки TCP-соединения, а затем в начале подтверждения TLS.

Таким образом, было бы намного лучше изменить ваше приложение так, чтобы оно использовало одно и то же соединение TLS для нескольких сообщений или, по крайней мере, для реализации возобновления сеанса. Возобновление сеанса не только сокращает количество необходимых циклов, но и значительно сокращает количество байтов, отправляемых в рамках рукопожатия.

И, как было предложено в другом ответе, wirehark - полезный инструмент для отслеживания таких проблем (например, количества переданных байтов, а также задержки), а также для просмотра эффектов после оптимизации.

Вы должны уметь использовать Wireshark для записи запросов между клиентом и сервером - затем вы можете расшифровать трафик SSL, если требуется, если у вас есть сертификат, чтобы лучше видеть, что происходит в каждом пакете.

Вы должны остановить столько же другого трафика на вашем компьютере перед началом захвата, но если вы не можете очистить его полностью, вы сможете увидеть один поток TCP, щелкнув правой кнопкой мыши один пакет в этом потоке и нажав Следуйте TCP-потоку.