Быстрые веб-страницы: Сжатие и Очистка веб-страниц
Несмотря на стремительное развитие интернета, проблема оптимизации веб-приложений стоит также остро, как и во времена dialup-подключений по советской вермишели.
В сентябре 2006 года Питер Севчик (Peter Sevcik) и Ребекка Ветцель
(Rebecca Wetzel) из компании NetForecast опубликовали документ,
именуемый "Field Guide to Application Delivery Systems" («Полевое
руководство по системам доставки приложений»). Основное внимание в
документе было уделено улучшению производительности приложений в
глобальных сетях (wide area network – WAN), и в нем было приведено
уравнение
, где
- R - время ответа. Общее время с
запроса страницы пользователем (обычно переходом по ссылке и т.п.) до
полной визуализации страницы на его компьютере. Обычно измеряется в
секундах.
- Полезная нагрузка - общее число байтов, отправленных обозревателю, включая разметку и все ресурсы (такие как файлы CSS, JS и изображений).
- Пропускная способность - скорость
передачи данных обозревателю и от него. Может быть асимметрична и
представлять несколько скоростей, если данная страница создается из
нескольких источников. Обычно усредняется для создания единого
выражения пропускной способности в байтах в секунду.
- AppTurns - число
файлов ресурсов, требуемых страницей. Они включают файлы CSS, JS,
изображений и любые другие файлы, извлекаемые обозревателем в процессе
визуализации страницы. Уравнение учитывает страницу HTML отдельно,
добавляя время приема-передачи (round-trip time – RTT) перед выражением
AppTurns.
- RTT - время, необходимое
для приема и передачи данных, вне зависимости от числа переданных
байтов. Каждый запрос тратит минимум одно RTT для самой страницы.
Обычно измеряется в миллисекундах.
- Cs -
время вычислений на сервере. Время, уходящее у кода на запуск,
извлечение данных из базы данных и составление ответа, отправляемого
обозревателю. Измеряется в миллисекундах.
- Cc - время
вычислений на клиенте. Время, уходящее у обозревателя на визуализацию
HTML на экране, исполнение JavaScript, применение правил CSS, итд.
Читать полностью...