Я часто сталкиваюсь с довольно похожей проблемой. Однако я придерживаюсь немного другого подхода: во-первых, зачем мне вообще заботиться о статическом контенте? Я имею в виду, конечно, что это важно для пользователя, если для изображения требуется 2 минуты или 2 секунды, но это не моя проблема ПОСЛЕ того, как я полностью разработал страницу. Эти вещи являются проблемами при разработке, и после развертывания это не статический контент, а динамический материал, который обычно замедляет работу (как вы сказали в предыдущем абзаце). Следующее - почему ты веришь, что так много вещей остаются неизменными? Если кто-то в вашей сети запускает p2p-программу, маршрутизация идет не так, как надо, или у вашего интернет-провайдера есть некоторые проблемы, с которыми ваша серверная статистика непременно будет работать. А что говорит ваш тест для пользователя, живущего по всему миру или просто использующего другого интернет-провайдера? Все, что я говорю, это то, что вы сравниваете СВОЮ точку зрения, но это не говорит о производительности серверов, не так ли?
Почему бы не позволить самому сайту / серверу определить, сколько времени потребовалось для загрузки? Вот небольшой пример, написанный на PHP:
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function benchmark($finish)
{
if($finish == FALSE){ /* benchmark start*/
$GLOBALS["time_start"] = microtime_float();
}else{ /* benchmark end */
$time = microtime_float() - $GLOBALS["time_start"];
echo '<div id="performance"><p>'.$time.'</p></div>';
}
}
Добавляет в конце страницы время, необходимое для сборки (скрыто с помощью css). Каждые пару минут я проверяю это регулярным выражением и анализирую его. Если это время увеличится, я знаю, что что-то не так (включая статический контент!), И через RSS-ленту я получаю информацию и могу действовать.
С помощью firebug мы знаем «нормальную» производительность сайта, загружающего весь контент (фаза разработки). С помощью теста мы получаем текущую ситуацию на сервере (даже на нашем мобильном телефоне). ХОРОШО. Что дальше? Мы должны убедиться, что все / большинство посетителей получают хорошую связь. Я нахожу эту часть действительно трудной и открыта для предложений. Тем не менее, я пытаюсь взять файлы журнала и пропинговать пару IP-адресов, чтобы узнать, сколько времени требуется, чтобы добраться до этой сети. Кроме того, прежде чем принять решение о конкретном интернет-провайдере, я пытаюсь прочитать о возможностях подключения и мнениях пользователей ...