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

большая разница во времени ответа HTTP между клиентами из США и Великобритании

Я изучаю проблему с некоторыми изображениями, размещенными в США, из-за того, что у некоторых пользователей очень медленное время загрузки. Это изображение, например; http://opencirrus-g0805.hpl.hp.com/books40/UMICH/2160/10/47/23/59/216010472359/SCALE/sp3031.jpg

Из центра обработки данных в США с использованием apache bench ab;

Server Hostname:        opencirrus-g0805.hpl.hp.com
Document Path:          /books36/IA/2160/40/00/01/15/216040000115/SCALE/sp0831.jpg
Document Length:        62604 bytes
Failed requests:        0
Requests per second:    1666.38 [#/sec] (mean)
Time per request:       6.001 [ms] (mean)
Transfer rate:          102405.91 [Kbytes/sec] received

from another box in the dc;
Requests per second:    1847.39 [#/sec] (mean)
Time per request:       5.413 [ms] (mean)
Transfer rate:          113526.09 [Kbytes/sec] received

From missouri
Requests per second:    27.88 [#/sec] (mean)
Time per request:       358.700 [ms] (mean)
Transfer rate:          1774.29 [Kbytes/sec] received

ping from missouri
PING opencirrus-g0805.hpl.hp.com (198.55.33.68) 56(84) bytes of data.
64 bytes from opencirrus-g0805.hpl.hp.com (198.55.33.68): icmp_seq=1 ttl=51 time=55.9 ms

From London they are getting very slow
Requests per second:    5.29 [#/sec] (mean)
Time per request:       1891.408 [ms] (mean)
Transfer rate:          358.92 [Kbytes/sec] received

even though ping is much less than the time per request;
PING opencirrus-g0805.hpl.hp.com (198.55.33.68) 56(84) bytes of data.
64 bytes from opencirrus-g0805.hpl.hp.com (198.55.33.68): icmp_seq=1 ttl=54 time=177 ms

Таким образом, для пользователей в Лондоне на загрузку файла 62 КБ уходит секунда, а для пользователей из США - ~ 650 мс.

Этого следует ожидать, и что я могу сделать, чтобы ускорить процесс? (как оказалось, локально веб-сервер может очень быстро передавать файлы в ящики в локальной сети - я не уверен, что можно сделать на стороне веб-сервера)

Не знаю, будет ли обслуживание контента (как динамического, так и статического) с локального края тем, чем вы готовы заниматься, но если это так, то опытному системному администратору не составит труда настроить край кэширования, похожий на akamai, в географическом месте. Некоторые альтернативы - FS Big-IP, Bluecoat или Varnish с открытым исходным кодом.

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

Имейте в виду, что HTTP-запрос требует как минимум двух с половиной циклов обработки (подтверждение TCP, HTTP-запрос / ответ, закрытие соединения). Таким образом, накладные расходы на ваше соединение в США составляют 0,0559 * 2,5 = 0,14 с, а для Великобритании 0,177 * 2,5 = 0,4425 с.

Таким образом, время, необходимое для фактической доставки контента, включая любую обработку конечной точки, для пользователей в США составляет 0,51 секунды, а для Великобритании - 1,45 секунды.

Или 0,95 Мбит / с для США и 0,3 Мбит / с для Великобритании.

Как это ускорить? Что ж, вы можете использовать услугу частной сети, такую ​​как Akmai IP Accelerator (я ожидаю, что это будет довольно дорого, если вы хотите сделать контент доступным в Интернете в Великобритании, а не в филиале). Или вы можете использовать сеть доставки контента (CDN).

Но прежде чем вы даже попытаетесь это сделать, вы должны убедиться, что ваша информация кеширования HTTP оптимизирована.