0

Knockoutjs を使用して、JSON データセットとのデータ バインディングを持つクライアントの純粋な HTML CSS Web サイトに取り組んでいます。テーブルについては、Datatables ライブラリを使用しました。

Windows Azure Web サイトで Web サイトをホストしています。

ウェブサイトのリンクは次のとおりです:http: //bit.ly/(機密情報であるため削除)

一般的な JS ライブラリに CDN を使用したにもかかわらず、Web サイトの読み込みに約 4 秒かかります。

ロード時間はそれほど長くないはずです。ここで犯人を見つけることができません。4 つの異なるデータセットからデータを取得しています。パフォーマンスへの影響はありますか? または、Windows Azure データセンターに問題があり、Azure サーバーからの応答を取得するのに時間がかかります。アズールが犯人?

上記の Web サイト リンクでページの読み込み時間を調べることができます。

どんな助けでも大歓迎です。

解決 :

同期呼び出しを使用する代わりに、

$.getJSON(url, function(data){
 //whole knockoutjs logic and bindings
}
4

1 に答える 1

1

すべてのモデル .js ファイル ( で始まるpatientMedicationChart-Index.js) は同期的に読み込まれます (async:falseはそのファイルで設定されます)。これは、ブラウザーが次のスクリプト ファイルの読み込みを続行する前に、各スクリプト ファイルの読み込みを待機する必要があることを意味します。

デモ用にそのようにロードされた約 10 個のファイルを数えます。(私にとっては) それぞれのロードに約 200 ミリ秒かかります (その 200 ミリ秒の約 95% が応答の待機に費やされ、これもかなり遅いようです。これはサーバーの問題である可能性があります)。アズール)。したがって、10 倍すると、これらのファイルの読み込みに既に 2 秒が費やされており、すべてのファイルが読み込まれた後にのみready、ページのイベントがトリガーされます。

これらのファイルを同期的にロードしたい理由があるかもしれませんが、実際には、ページ全体のロード時間のかなりの部分を占めています。

于 2013-04-01T06:42:19.390 に答える