在我的 GAE 网站上执行请求时,HTML/CSS 文件在我的浏览器中正常加载,但 .js 文件非常慢(全部 > 1s)。.js 位于静态文件夹中(就像 .css 文件一样)。
令人困惑的部分是 Chrome/Firefox 报告它一直在“等待”,但 GAE 的日志显示了一个非常快的请求。
js 的处理程序与 css 相同,在 app.yaml 中:
- 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 作业/任务发生。
- 我没有看到创建的新实例,显然只有一个始终可用(根据仪表板上的实例图表和未显示“...已导致创建新实例”的日志)。
- 该请求直接在我的 .appspot.com 子域上完成。
- 我所有的测试都是用 CTRL+SHIFT+R 完成的,响应总是 200(不是来自缓存,不是 304 不变)。
- 在隐身模式下运行时结果相同。
我真的很想知道发生了什么以及实际花费的时间在哪里。
当我输入这个时,我通过将 /static/main.js 复制到几个新的文件名和文件夹中进行了一些测试:
- /static/main.css,请求 /main.css 需要 180ms。
- /static/css/main.css,请求 /css/main.css 需要 180ms。
- /static/css/main.js,请求 /css/main.js 需要 1s。
现在由于某种原因,.css 的加载速度比 .js 快得多。但这仍然不是 GAE 日志报告的 12 毫秒。
以下是请求/响应标头:
主.js:
主.css:
我看到的唯一区别是,除了扩展名之外,css 有Transfer-Encoding: chunked
,而 js 有Content-Length: 7930
。