2009-05-07 15 views
2

ユーザー満足度とスケーラビリティを維持するために、内部ユーザーとパブリックユーザーの両方にサービスを提供するデータ駆動型のWebベースのアプリケーションがあり、ページを作成するのがどれくらい早くなるかを測定したいと考えています(ミリ秒単位)。動的に生成されるWebページはどれくらい早く作成されるべきですか?

したがって、速いサイトを維持するためにページを作成する速度はどれくらいですか?

これらのサイトは、SQL ServerのバックエンドがXSLTを使用してレンダリングするXMLレコードセットを生成するASPクラシックで開発されています。最も効率的な技術ではなく、ページの複雑さに応じて、7msから120msの間で(つまり、コードの最初の行と 'Response.Write'の間のタイマー間隔)必要です。より遅いページは、データベースがより大きく複雑なクエリを実行しているためです。 ASPのすべての古典をASP.NETに書き直しても、全体のページレンダリング速度に大きな改善はありません。

私はしばしばSOがthe fastest siteであることを望んでいると聞きました。彼のブログでは彼のcodeとデータベースの最適化について議論しましたが、コードを最適化するにはどうすればいいですか? String + Stringの代わりにStringBufferを使用してミリ秒単位でシェービングしていますか?

あなたが考え始めるんどの時点で[明確化]

「このページは作成に時間がかかりすぎます?」。それは20ms以上、200ms以上か、またはページが構築するのに1秒以上かかることはOKですか?あなたの「目標時間」は何ですか?

+0

re:明確化 - あなたは確かにこれに答えることはできません。ほとんどのユーザーは3秒以上の負荷に非常に負の反応を示し、私が働いた場所の多くはサーバー時間が10ミリ秒を超えると考えられますが、非常に曇っています。あなたが測定しているものを正確に定義することさえ曖昧です。 – annakata

答えて

5

これはあなたの聴衆とターゲットに完全に依存しています。私はターゲット 'onload'イベントが< 4秒で、そしてサーバー上の時間が< 1msと予想されるアプリケーションで作業しました。いずれにせよ、いずれにせよ、サーバー側のレベルでパフォーマンスの最適化が行われても、ネットワークのパフォーマンス、Webの主要なボトルネック、および知覚的な負荷時間のいずれかが小さくなる可能性が高いことに気づく必要があります。

ヤフーには、一般的なウェブサイトのパフォーマンス、特に知覚負荷領域に関するものがあります。excellent guidelines

うまくいけば、あなたは、このトピックのバンに

+1

バッファを早くフラッシュする ユーザーがページをリクエストすると、バックエンドサーバーがHTMLページをつなぎ合わせるのに200〜500msかかることがあります。この間、ブラウザはデータが到着するのを待つ間にアイドル状態です。 ヘッドのHTMLは通常は簡単に作成でき、バックエンドの処理中にブラウザでCSSとJavaScriptファイルを並行して開始できるため、フラッシングを考慮する必要があります。 – Guy

+0

(上記のフォーマットについては申し訳ありません) - Yahooドキュメントは非常に優れており、サイトの「ネットワーキング」面で質の高い時間を過ごすことで、全体的なパフォーマンスの認識を向上させることができます。実際のHTMLページのレンダリング時間は比較的簡単です... – Guy

0

1つのことを変更するだけで、ミリ秒単位を削減することができます。

また、データベース要求をキャッシュする方法もあります。

2

ユーザーは、データの準備の速さに気にせず、ページの実際の読み込み時間のみを気にします。

レンダリングにオーバーヘッドが多い場合、ユーザーはサイトが遅くなることがあります。古典的なASPに関しては、文字列の連結は非常に悪い習慣とみなされます。なぜなら、文字列の長さがサーバーに負担をかけ始めると、実際には遅くなるからです。

配列(jscript)または.NET StringBufferを使用すると、レンダリング時間を大幅に短縮できます。さらに、サーバがより多くのトラフィックを処理できるようにする、無駄なCPU使用量をアンロードするだけで、わかりやすい最適化のようなものは非常に価値があるといえます。

+0

vb/aspに関する非常によく文書化された「文字列連結」の問題を避けることは十分に価値があることに同意し、私はADOのrs.SaveとXSLTをすべての重労働に使用しています。 – Guy

2

非常に興味深いスクリーンキャストはここで見つけることが...すでにあなたがしてResponse.Writesの大規模なチェーンを避けるようなささいなことをやってできるかキャッシュされるのに十分スマートです:link text

これはRailsの人で作られていますが、他のフレームワークにも完全に当てはまります。

+0

私はこの質問を提起した理由の一つは、ASPの古典、Rails、Rubyなどの "遅い"フレームワークに与えるすべてのフラックの人々が、することが?" – Guy

0

サーバーの応答時間に対するユーザーの満足度に影響する1つの要因は、新しいページを要求している頻度です。ユーザーが読みに時間を費やすという情報がたくさんあるページを提示している(言う)場合、「レンダリング」時間は長くなります。対照的に、人がページをすばやくナビゲートしている場合、彼はほぼ即時の応答を望むでしょう。

たとえば、ニュースサイトを利用している場合、次のページの読み込みに30秒以上かかるため、1秒または2秒かかる場合は大丈夫です。

一方、インタラクティブマップを参照している場合は、レスポンスを1秒未満にすることをお勧めします。

関連する問題