2013-01-15 4 views
6

非常に簡単なアプリケーションでは、私のMeteorサイトはデータの最初のバイトのダウンロードを開始するのに4.1秒かかっています。これは非常に基本的な設定です。 (http://www.webpagetest.orgから取られた)関連倍などは以下のとおりです。デプロイされたMeteorサイトの読み込みに時間がかかるのはなぜですか?

IP: 107.22.210.133 
Location: Ashburn, VA 
Error/Status Code: 200 
Start Offset: 0.121 s 
DNS Lookup: 64 ms 
Initial Connection: 56 ms 
Time to First Byte: 4164 ms 
Content Download: 247 ms 
Bytes In (downloaded): 0.9 KB 
Bytes Out (uploaded): 0.4 KB 

は流星が遅いことに起因する。これは、あるいはそこに私のコードのボトルネックになる可能性が高いですか?これを決定する方法はありますか?

ありがとうございました。

+1

流星法はありますか?彼らはHTTPリクエストを持っていますか? – Akshat

+0

これは文字通り、ここで概説した方法でダイナミックに読み込まれた(反応する)いくつかのテンプレートを持つ、本当にシンプルなサイトです。http://www.atmayogi.com/2012/11/dynamic-multi-page-applications-with-meteor -for-node-js、およびバックボーンを使用してテンプレート間をルーティングします。画像はありません。CSSはほとんどなく、JS(167.1 KB)もほとんどありません。ページが読み込まれ、コンテンツが表示されるまで数秒待ちます。 – cazgp

答えて

5

遅延は、購読がサーバーからデータを取得するのにかかる時間の関数です。クライアントがページの読み込みに必要とするドキュメントデータが静的である場合は、非ページングされた(非同期の)ローカルコレクションに保存して、初期ページの読み込み時にすぐに利用できるようにします。アンマネージドコレクションとマネージコレクションに格納されたデータの読み込み時間の比較については、collections.meteor.comを参照してください。 webpagetestによると、それは

+1

ありがとうございます。ページの読み込みに表示されるデータは、URLに大きく依存しており、URLからはデータベースから大量のデータが表示されます。あなたの提案をどのように実装することをお勧めしますか?メテオのドキュメンテーションは、管理されていないローカルコレクションではあまり明確ではありません。 – cazgp

+3

リンク先の例を作成するために管理されていないローカルコレクションを実装する方法を尋ねていますか?そうであれば、コレクションを作成してサーバー側にドキュメントを挿入するのと同じです。クライアント上で行うだけで、コレクションの名前の代わりにnullを渡すだけです。 – ram1

+0

あなたはデータなどを偽造しますか?彼らがサーバーから来ていない場合、そのコレクションにどのような値が属しているかをどのように知っていますか?これは非常にデータ駆動型のアプリケーションで、コレクションは常に変化し、ユーザーには常に異なるものが表示されます。 – cazgp

0

です:

DNS、ソケットおよびSSL交渉+ 100msのに必要な時間。

私は@ ram1の答えが好きでしたが、私はそれもあなたのサーバーのパフォーマンスのためだと付け加えたいと思います。その時間は、共有ホスティングでは一般的です。そこには2つの回避策があります:あなたのホスティングを変更するか、CDNサービスを追加してください。

また、リダイレクトが少ない場合にも役立ちます。

キャッシュを有効にし、Chromeユーザーの場合はthe pre- party機能を適用することができます。

関連する問題