在我的 GAE 网站上发出请求时,HTML/CSS 文件在浏览器中正常加载,但 .js 文件速度非常慢(全部 > 1 秒)。 .js 位于静态文件夹中(就像 .css 文件一样)。
令人困惑的部分是 Chrome/Firefox 报告它一直在“等待”,但 GAE 的日志显示一个非常快的请求。
Full size https://i.stack.imgur.com/WIqug.png
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 毫秒。
以下是请求/响应标头:
Main.js:
![enter image description here](https://i.stack.imgur.com/hBekG.png)
Main.css:
![enter image description here](https://i.stack.imgur.com/HavMO.png)
我看到的唯一区别是,除了扩展名之外,CSS 还具有Transfer-Encoding: chunked
,而 js 有Content-Length: 7930
反而。