App Engine需要更长时间(> 1秒)来提供静态JS而不是静态CSS

Mur*_*rph 12 google-app-engine

(问题编辑b/c我已经意识到它涉及文件类型)

这个文件是20kb.它一直服用> 1秒.

http://www.adrenalinemobility.com/js/ss-symbolicons.js

这是与.css 相同的文件,因为它的扩展名:

http://www.adrenalinemobility.com/js/ss-symbolicons.css

它的速度提高了近1秒.

这是我的app.yaml:

application: adrenaline-website
version: 1
api_version: 1
runtime: python27
threadsafe: true

libraries:
- name: jinja2
  version: latest

handlers:
- url: /favicon\.ico
  static_files: assets/favicon.ico
  upload: assets/favicon\.ico

- url: /css
  static_dir: assets/css

- url: /img
  static_dir: assets/img

- url: /js
  static_dir: assets/js

- url: /.*
  script: web.APP
Run Code Online (Sandbox Code Playgroud)

我也试过这static_files行(在/ js处理程序之前),它也很慢:

- url: /js/ss-symbolicons.js
  static_files: assets/js/ss-symbolicons.js
  upload: assets/js/ss-symbolicons.js
Run Code Online (Sandbox Code Playgroud)

我观察到的方式:

  • Chrome,Firefox(均在Linux上) - 来自硅谷的DSL连接
  • 来自那台机器的wget,curl等.
  • 从伊利诺伊大学的高速服务器远程学习和卷曲
  • 远程Web测试服务,如网页测试(见下文):

这是一个网页测试瀑布图,说明了这个问题 - 注意一个文件有一个巨大的TTFB:http://www.webpagetest.org/result/131101_ZQ_ZGQ/1/details/

如果我手动将mime_type设置为text,那么它会很快.application/javascript,application/x-javascript,text/javascript都是缓慢的.目前,如果您想测试,这些文件的服务没有手动指定的mime类型.

更多信息,正如jchu所注意到的:

慢速版本用于:Content-Length: 19973快速版本用于:Transfer-Encoding: chunked

还有更多细节:

我经常得到服务器74.125.28.121.有人在reddit上得到了服务器173.194.71.121,它们似乎甚至可以在它们之间提供速度.那么也许它的服务器/位置依赖?

关于这个问题的另一篇文章

这是一个包含两个文件请求的完整curl日志的pastebin

这是另一个pastebin,它只包含紧密循环中每个文件的十个请求的时序信息

bwa*_*wok 3

将 mime_type: 文本添加到 JavaScript 静态资源。

需要研究假设的 mime_type 是什么,对文本与其他 mime 类型做了什么巧妙的技巧......