DNS поиск пользовательского URL занимает много времени (5 секунд) в Android - PullRequest
1 голос
/ 27 июня 2019

У меня есть домен, зарегистрированный на godaddy, но у меня DNS-серверы на маршруте 53.

Когда я пытаюсь пропинговать веб-сайт через приложение для Android, разрешение DNS в первый раз занимает 5 секунд (через каждые 10 мин).Это не в случае с iOS или в браузере Mac, а когда я пытаюсь попасть по URL от почтальона.Это происходит только в моем приложении для Android.

Решения пробовали:

1) Пробовал в разных телефонах,

2) Пробовал в разных сетях.

След времени: ЗАПРОС 1 (новое соединение)

0.000 callStart

0.007 dnsStart

5.048 dnsEnd

5.049 connectStart

5.056 secureConnectStart

5.106 secureConnectEnd

5.108 connectEnd

5.109 connectionAcquired

5.110 requestHeadersStart

5.112 requestHeadersEnd

5.196 responseHeadersEnd

5.197 responseBodyStart

REQUEST 1 (new connection) end success

Было бы очень полезно, если бы вы мне помогли.

Редактировать: добавив код

String url = "https://customurl/";
OkHttpClient httpClient = new OkHttpClient.Builder()
            .eventListener(new PrintingEventListener())
            .dns(DnsSelector.byName("ipv6"))
            .build();
Retrofit client = new Retrofit.Builder().baseUrl(url).client(httpClient)
            .build();
System.out.println("Scanning REQUEST 1 (new connection) url: " + url);

TestInterface testInterface = client.create(TestInterface.class);

Call<ResponseBody> testCall = testInterface.testCall();
Log.i( TAG, "Scanning apiCall Start");
testCall.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            Log.i( TAG, "Scanning apiCall end success");
}

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
            Log.i( TAG, "Scanning apiCall end failed");
        }});

Очень быстрый в эмуляторе Android 0.000 callStart

0.010 dnsStart

0.095 dnsEnd

0.096 connectStart

0.103 secureConnectStart

0.537secureConnectEnd

0.563 connectEnd

0.565 connectionAcquired

0.567 requestHeadersStart

0.572 requestHeadersEnd

0.573 responseHeadersStart

0.733 responseHeaders1041 *

0.739 responseBodyEnd

0.740 connectionReleased

0.740 callEnd

1 Ответ

0 голосов
/ 04 июля 2019

Мне удалось найти обходной путь.Я пробовал это решение ранее, прежде чем публиковать, но по какой-то причине оно не сработало.

Я добавил общедоступный DNS-преобразователь, как упоминалось здесь

Это сбило DNSпоиск связи от 5,5 с до 300 мс.Хотя это все еще высоко с моей точки зрения, но это намного лучше.

...