Как ускорить загрузку сайта для противоположной стороны планеты - PullRequest
14 голосов
/ 25 декабря 2011

В настоящее время я работаю над небольшим программным обеспечением PHP, к которому обращаются две группы людей: одна группа в Китае, другая в Ирландии. Сервер находится в Ирландии, и, без сомнения, страницы загружаются от 0,3 до 0,8 секунд.

Китайцы записывают время от 3,0 до 10 секунд.

Я провел тесты скорости, и у китайцев есть интернет-соединение 1,5 мбит (тестовый сервер в Ирландии) и пинг 750 мс.

Пока что, чтобы улучшить время загрузки, я переделал большую часть взаимодействия с базой данных MySQL, чтобы максимизировать эффективность, но это не помогло. Я предполагаю, что это лишь немного уменьшает время процесса сервера, но мало влияет на время загрузки страницы.

Я думал, могу ли я получить хостинг в Китае и использовать его в качестве шлюза для системы в Ирландии. Конечно, задержка и скорость загрузки между этим китайским сервером будет лучше, чем у обычного человека ... И запросы обычных людей будут перенаправлены сюда.

Это звучит вообще возможно? Или у кого-нибудь еще есть предложения по этому поводу?

Ответы [ 8 ]

7 голосов
/ 25 декабря 2011

Ваша самая большая проблема - это задержка. Если вы можете минимизировать запросы HTTP, вы должны увидеть большие выгоды.

Но, вероятно, проще просто купить сервисы сети доставки контента и перенести в них все свои статические файлы, убедившись, что они имеют хорошо подключенные серверы в Китае и Ирландии. Я думаю, что это проще, чем изменить дизайн вашего сайта.

Самая дешевая изюминка - отправка подходящих заголовков http, чтобы указать веб-браузерам, что им не нужно постоянно проверять наличие обновлений на ваших серверах (не выполняйте условные запросы http). Если вы можете сделать это для всех внешних объектов веб-страницы (изображения, CSS, JS и т. Д.), Тогда загрузка первой страницы все равно займет 10 секунд или что-то еще, но последующие загрузки страницы должны быть очень близки к вашим ирландским посетителям. Это просто вопрос настройки веб-сервера. Вот учебник при необходимости. Честно говоря, отправка заголовков, дружественных к кешу, всегда хорошая идея, именно так вы получаете те быстрые и отзывчивые сайты, которые мы все любим.

2 голосов
/ 25 декабря 2011

Сначала Следуйте рекомендациям по ускорению работы вашего сайта . Затем также отметьте YSlow , чтобы измерить скорость вашего сайта и проверить, что вы можете сделать для повышения производительности. Я думаю, что смена серверов не даст вам лучшего времени отклика. Я думаю, вам стоит сначала побеспокоиться об оптимизации, а затем проверить хорошую и мощную хостинговую компанию и план хостинга.

Приветствия

1 голос
/ 25 декабря 2011

Чтобы ускорить время загрузки, вы можете рассмотреть возможность размещения ваших статических файлов (изображений, CSS, JavaScript, документов) в CDN (Content Delivery Network).CDN работают, размещая ваши файлы в нескольких узлах по всему миру.Как только он получит запрос, файл будет обслуживать ближайший к посетителю сервер - таким образом уменьшится задержка.

Возможно, вы захотите попробовать CloudFlare (http://cloudflare.com), - это бесплатный продукт, который служит в качестве обратного прокси-сервера и CDN дляваш сайт. Вместо того, чтобы пользователь получал доступ к сайту напрямую, CloudFlare будет тем, кто будет заходить на ваш сайт и оптимизировать его для доставки посетителю.

1 голос
/ 25 декабря 2011

Я бы точно отразил ваш сайт на сервере где-нибудь в Азии. Вы уже сделали некоторые улучшения производительности, которые не привели к намного лучшим результатам из Китая, поэтому я предполагаю, что задержка сети является причиной большей части времени загрузки.

Вы можете развернуть свой сайт в одной из облачных служб. Amazon EC2 экземпляры доступны, например, в Сингапуре и Токио. Или вы можете развернуть «обычного» веб-хостинга в Китае.

Если вам необходимо доставлять в основном статические файлы, проверьте службу сети распространения контента (CDN).

1 голос
/ 25 декабря 2011

Хостинг / зеркалирование в Китае, безусловно, путь.Это будет быстрее для людей там и более надежным.В идеале вы также должны были бы разместить его в Ирландии, и иметь некоторую балансировку нагрузки.

0 голосов
/ 28 июля 2015

Относительно этого комментария: "Вы можете попробовать CloudFlare (http://cloudflare.com), - это бесплатный продукт, который служит в качестве обратного прокси-сервера и CDN вашего сайта. Вместо того, чтобы пользователь получал доступ к сайту напрямую, CloudFlare будет один для доступа к вашему сайту и оптимизации его для доставки посетителю. "

Мы попробовали это для клиента в Китае, но, к сожалению, у CloudFlare пока нет локальной версии их CDN, работающей в Китае. В настоящее время мы тестируем CDN Amazon, который, похоже, имеет положительные отзывы.

0 голосов
/ 17 июня 2014

Я делаю то же самое. Я создам зеркало сайта на облаке aliyun.com. Я размещаю свой сайт (www.discoverwish.com) на площадке в Сингапуре, но время загрузки для моих китайских пользователей без VPN невероятно медленное.

Я буду использовать rsync для синхронизации информации, а затем перенаправлять китайских пользователей с помощью DNSpod

0 голосов
/ 25 декабря 2011

Переход в облако.

http://en.wikipedia.org/wiki/Cloud_computing

...