Я изучаю проблему с некоторыми изображениями, размещенными в США, из-за того, что у некоторых пользователей очень медленное время загрузки. Это изображение, например; 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 оптимизирована.