4

GAEでGoアプリケーションのパフォーマンスをチェックしていたところ、静的ファイルの応答時間は非常に長い(183ms)と思いました。それは...ですか?それはなぜです?私はそれについて何ができますか?

64.103.25.105 - - [07/Feb/2013:04:10:03 -0800] "GET /css/bootstrap-responsive.css
HTTP/1.1" 200 21752 - "Go http package" "example.com" ms=183 cpu_ms=0 
4

3 に答える 3

1

「通常」の 200 ミリ秒は、静的ファイルのハイサイドにあるようです。アプリケーションから同じ「bootstrap-responsive.css」の静的バージョンを提供し、2 種類の応答時間を確認できます。

  • 50 ~ 100 ミリ秒 (ほとんどの場合)
  • 150-500ms (時々)

Google アプリ エンジンへの ping 往復は 50 ミリ秒程度なので、ファイルは通常 50 ミリ秒程度で提供されるようです。

150 ~ 300 ミリ秒の応答時間は、Google App Engine フロントエンド サーバーが「コールド キャッシュ」されていることに関連していると思います。永続的なストレージからファイルを取得すると、フロントエンド サーバーのキャッシュにある場合よりも待ち時間が長くなると思います。

また、さまざまなフロントエンド サーバーにアクセスして、散発的に高いレイテンシが発生する可能性があると想定しています。

最後に、ブラウザからの全体的な認識遅延は、(tc)ping ラウンド トリップ + フロントエンド サーバーでの tcp/http キューイング/バッファリング + ファイル サービング アプリケーション時間 (Google アプリ ログに表示) + 転送時間で概算する必要があります。ファイル。

フロントエンド サーバーが過負荷になっておらず、ファイルが小さい場合、レイテンシは ping + 処理時間に近くなります。

私の場合、50 ミリ秒 (ping) + 35 ミリ秒 (サービング) = 85 ミリ秒は、ブラウザーで表示される 95 ミリ秒に非常に近い値です。

最後に、アプリが多くのリクエストを処理している場合、リクエストがキューに入れられ、アプリケーション ログに「表示」されない遅延が発生する可能性があります。

于 2013-02-13T05:14:21.280 に答える
1

比較のために、tools.pingdom.comを使用してサイトをテストしました

Pingdom は読み込み時間を報告しました218ms

ログからの結果は次のとおりです。

2013-02-11 22:28:26.773 /stylesheets/bootstrap.min.css 200 35ms 45kb

238msPingdom とログから得られた別のテスト2ms

したがって、あなた183msは比較的良いと思います。非常に多くの要因が関係しています。

  • サーバーへのあなたの場所
  • リソースを提供しているサーバーが過負荷になっていませんか?

App Engine の静的ファイル サーバーの代わりに、Go インスタンスを使用してファイルを提供してみてください。少し前にこれをテストしましたが、結果は時々速くなりましたが、速度の一貫性は低くなりました。App Engine インスタンスが 10 個の同時リクエストに制限されているため、負荷がかかった状態での応答時間も増加しました。言うまでもなく、インスタンス時間に対して請求されます。

編集:

他のクラウド/CDN プロバイダーとの比較については、Cedexis の無料のカントリー レポートを参照してください。

于 2013-02-12T04:57:09.087 に答える
0

静的ファイルにキャッシュを設定してみてください。

于 2013-02-07T17:23:29.497 に答える