Некоторые сетевые службы и протоколы способны достаточно четко определять свои потребности. Например, если использовать сервер RealAudio и при этом поставить себе цель одновременно обслуживать 100 пользователей на скорости 56 Кбит/с, то с запасом хватает канала в 5,6 Мбит/с. Или, если ограничить FTP-сервер до одновременной поддержки ста пользователей, каждый из которых будет работать со скоростью не более 100 Кбит/с, потребуется канал не более чем в 10 Мбит/с.
К сожалению, с HTTP-трафиком все не так прозрачно. HTTP-трафик в совокупности представляет собой большое количество коротких, отрывистых сигналов. В качестве транспортного протокола здесь, как и во многих других случаях, выступает TCP, который использует концепцию «медленного старта». Это означает, что в начале любого соединения пакеты отправляются на низкой скорости, и эта скорость постепенно возрастает до конкретного пикового значения. HTTP-посылки обычно небольшого размера, так что в тот момент, когда скорость только начинает увеличиваться, передача уже заканчивается. Из этого можно сделать два вывода относительно протокола HTTP: во-первых, отправка десяти файлов по 50 Кбайт каждый будет гораздо медленней, чем одного файла объемом 500 Кбайт; во-вторых, в случае потери данных (например, из-за недостаточной пропускной способности канала) короткие передачи будут медленней восстанавливаться, чем длинные. Короче говоря, если умножить объем всех файлов, передаваемых по HTTP, на количество одновременных пользователей, то в результате мы получим абстрактное число, не имеющее отношения к действительности. Для того чтобы выяснить требуемую величину пропускной способности, этот результат надо как минимум удвоить. И вот почему. Во-первых, как я уже говорил, отправка небольших HTTP-пакетов активизирует замедленный механизм транспортного уровня. Во-вторых, для того чтобы не допускать потери данных при передаче, необходимо располагать дополнительным объемом канала. Наконец, количество одновременно поддерживаемых пользователей включает не только тех, кто заполняет формы заказа, но и тех, кто просто смотрит страницы вашего сайта!