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

Это перевод оригинальной статьи Скотта Ханзельмана.
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» — это использование вашего сайта на медленном соединении. Давайте, попробуйте это прямо сейчас.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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