私はしばしば非常によく似た問題に直面しています。しかし、私はわずかに異なるアプローチを取っています:まず第一に、なぜ静的なコンテンツを気にする必要がありますか?私はもちろん、画像のために2分または2秒かかる場合、それはユーザーにとって重要ですが、それは私が完全にページを開発した後私の問題ではないです。これらのことは、開発中やデプロイメント後には静的コンテンツではなく、通常は物事を遅らせる動的なものです(最後の段落で述べたように)。次のことは、なぜそんなに多くのことが変わらないと信じていますか?あなたのネットワーク上の誰かがP2Pプログラムを起動した場合、ルーティングが間違っているか、またはあなたのISPにいくつかの問題があります。あなたのserver-statsは確実にダウンします。そして、あなたのベンチマークは、世界各地に住んでいるユーザーや、別のISPを使用しているだけのユーザーに対して何を言いますか?私が言っているのは、あなたがあなたの視点をベンチマークしているということですが、それはサーバーのパフォーマンスについてはあまり言いませんね。
サイト/サーバー自体がロードに要した時間を判断させてみませんか?ここでは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で隠された)を構築するのにかかった時間を追加します。数分おきにこれを正規表現でgrepし、解析します。この時間が上がると、何か間違っていることがわかります(静的コンテンツを含む!)、RSSフィードを介して私は情報を得て行動することができます。
私たちはfirebugを使って、すべてのコンテンツを読み込んでいるサイトの「正常な」パフォーマンスを知っています(開発段階)。ベンチマークでは、現在のサーバー状況(私たちの携帯電話でさえ)を取得します。 OK。次は何?我々は、すべての/ほとんどの訪問者が良好なつながりを得ていることを確かめる必要があります。私はこの部分が本当に難しいと思っています。しかし、私はログファイルを取って、このネットワークに到達するのにどれくらいの時間がかかるかを知るために、いくつかのIPにpingを試みます。また、私は特定のISPを決定する前に、私は接続性とユーザーの意見を読んでみる...
+1 - 私はこのアイデアに奇妙に満足しています - 笑 –
偉大な心は似ています:) –
私も!私はおそらく私のコードでそれを使用するでしょう、私は余分なコンテンツの測定は精度で実装することは非常に難しいだろうと思います。 – holiveira