3

GAE Web サイトでリクエストを実行すると、HTML/CSS ファイルはブラウザに正常にロードされますが、.js ファイルは非常に遅くなります (すべて > 1 秒)。.js は static フォルダーにあります (.css ファイルと同様)。

紛らわしい部分は、Chrome/Firefox がずっと「待機中」であると報告していることですが、GAE のログは非常に高速な要求を示しています。

ここに画像の説明を入力 フルサイズ

js のハンドラーは、app.yaml の css と同じです。

- url: /(.*\.css)
  mime_type: text/css
  static_files: static/\1
  upload: static/(.*\.css)

- url: /(.*\.js)
  mime_type: text/javascript
  static_files: static/\1
  upload: static/(.*\.js)

編集、詳細情報:

runtime: python27
api_version: 1
threadsafe: yes

libraries:
- name: django
  version: "1.2"
- name: webapp2
  version: 2.5.1
  • アドレスバーから手動でファイルを要求したため、このテストでは同時要求は発生しません (ブラウザーが html からの参照からファイルを要求するのではなく)。
  • その時点で発生している cron ジョブ/タスクはありません。
  • 作成された新しいインスタンスは表示されません。明らかに常に使用できるのは 1 つだけです (ダッシュボードのインスタンス グラフと、ログに「... 新しいインスタンスが作成されました」と表示されていないことによると)。
  • リクエストは、私の .appspot.com サブドメインで直接行われます。
  • すべてのテストは CTRL+SHIFT+R で行われ、応答は常に 200 です (キャッシュからではなく、304 が変更されていません)。
  • シークレット モードで実行しても、結果は同じです。

何が起こっているのか、実際にどこで時間を費やしているのだろうか。

これを入力しているときに、 /static/main.js をいくつかの新しいファイル名とフォルダーにコピーして、いくつかのテストを行いました。

  • /static/main.css、リクエスト /main.css には 180 ミリ秒かかります。
  • /static/css/main.css の場合、/css/main.css のリクエストには 180 ミリ秒かかります。
  • /static/css/main.js、リクエスト /css/main.js は 1 秒かかります。

何らかの理由で、.css は .js よりもはるかに高速に読み込まれます。しかし、それはまだ GAE のログで報告されている 12 ミリ秒ではありません。

リクエスト/レスポンスヘッダーは次のとおりです。

Main.js: ここに画像の説明を入力

Main.css: ここに画像の説明を入力

私が見る唯一の違いは、拡張子を除いて、css には がTransfer-Encoding: chunkedあり、js にはContent-Length: 7930代わりにあるということです。

4

0 に答える 0