Отключение keepAlive при установлении https-соединения с Java - PullRequest
2 голосов
/ 21 мая 2019

Я пытаюсь отключить поддержку HTTP в Java для тестирования производительности. Я предполагаю, что если я отключу keep-alives, Java будет делать меньше рукопожатий. Однако после добавления -Dhttp.keepalive=false к аргументам JVM (что должно отключить keep-alive) я не вижу разницы при трассировке пакетов в wireshark.

Я сделал небольшой Java-код для проверки:

public static void main(String[] args) throws Exception {
        String httpsURL = "https://www.google.com";
        URL myUrl = new URL(httpsURL);

        for(int i = 0; i < 3; i++) {
            System.out.println("Sending packet");
            HttpsURLConnection conn = (HttpsURLConnection) myUrl.openConnection();
            InputStream is = conn.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            Thread.sleep(10000);
        }

    }

Я тестировал его на JDK, который получил отсюда: https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=openj9#x64_mac

Итак, я попытался запустить с помощью следующих 2 команд:

  • openj9-11/Contents/Home/bin/java HelloWorld
  • openj9-11/Contents/Home/bin/java -Dhttp.keepAlive=false HelloWorld

Результаты Wireshark (при фильтрации по ip == 172.217.10.100; т. Е. IP-адрес Google) для обоих прогонов идентичны. - Скриншот Wireshark (отслеживание первой команды): https://imgur.com/a/SrNWmxZ - Скриншот Wireshark (отслеживание второй команды): https://imgur.com/a/bOEn0tC

Я ожидал получить меньше рукопожатий при трассировке второй команды. Я делаю что-то не так или ожидаемые результаты?

...