Как симулировать соединение с низкой полосой пропускания для тестирования сайтов и приложений

Это перевод оригинальной статьи Скотта Ханзельмана.
Facebook недавно проанонсировал внутреннюю инициативу под названием «2G вторники», и я думаю, что это превосходно. Это чёткий и конкретный способ напомнить народу с быстрым интернетом (тем, кто, вероятно, всегда имел быстрый интернет), что не у каждого есть неограниченная полоса пропускания или быстрый и надёжный канал. Вы знали, что у Facebook есть даже небольшое приложение, называющееся «Facebook Lite«, которое «весит» всего 1 МБ и имеет хорошую поддержку медленных сетей?

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

Симуляция низкой полосы пропускания с помощью Google Chrome

Если вы пользуетесь Google Chrome, то можете зайти во вкладку Network в инструментах по F12 и выбрать уровень полосы пропускания для симуляции:

Selecting lower bandwidth in Google Chrome F12 Tools

Более того, вы можете добавить произвольный профиль (Custom Profile), чтобы указать не только быстродействие, но и произвольное время задержки:

Custom Profiles for Google Chrome that control throughput and latency

Как только вы это настроили, то можете отключить кэш (disable cache) и симулировать начальную полную загрузку для вашего сайта на медленном соединении. 20 секунд — это очень долгое ожидание.

Google Chrome timeline showing my site on a 2G connection

Симуляция медленного соединения с помощью прокси-сервера типа Fiddler

Если вы не пользуетесь Chrome или же хотите просимулировать медленное соединение для приложения или в других браузерах, то можете его замедлить с прокси-сервером вроде Fiddler или Charles.

У Fiddler есть опция «симулировать модем» во вкладке Rules | Performance, и вы можете поменять значения из Rules | Customize Rules:

image

Вы можете установить задержки в миллисекундах на килобайт в скрипте в m_SimulateModem:

if (m_SimulateModem) {
    // Задержка отправки 300мс на кБ отправляемых данных.
    oSession["request-trickle-delay"] = "300"; 
    // Задержка приема на 150мс на кБ загружаемых данных.
    oSession["response-trickle-delay"] = "150"; 
}

Имеется некоторое количество прокси-серверов, которые вы можете использовать для замедления трафика в системе. Если у вас есть Java, то также можно попробовать один под названием «Sloppy.» Какой у вас любимый инструмент для замедления трафика?

Заключение

Вы можете сделать ТАК МНОГО, чтобы сделать процесс загрузки сайта лучше не только для народа с малой полосой пропускания, но и для всех. Сжимайте изображения! Не используйте PNG, когда подойдёт и JPEG. Минифицируйте! Применяйте CDN

image

Однако, «шаг 0» — это использование вашего сайта на медленном соединении. Давайте, попробуйте это прямо сейчас.

Это перевод оригинальной статьи Скотта Ханзельмана.

Поделиться: Share on LinkedIn
Linkedin
Share on VK
VK
Tweet about this on Twitter
Twitter

Оставить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Яндекс.Метрика