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
代わりにあるということです。