• 为什么要操作 DOM 呢?Turbolinks 的用法就是回到传统的 request/response cycle,每次把整个 body 替换掉呀。

  • 不管你实际用不用 Rails,都应该学一下它,尤其是它背后的设计思想。

  • 谢谢各位。暂时决定先用 ActionCable 来实现一个原型了。如果遇到性能问题再往 Ejabberd 迁移。

  • #15楼 @sunfjun 这个东西的主要意义不是免费,而是自动化。

  • 安利一下自己的 HTTPS-PORTAL,差不多就是这些东西,不过包装成 Docker container 适合和 docker 部署的 app 一起使用。

  • 通过 Nginx 启用 HTTP/2 at 2016年05月10日

    #33楼 @ibachue 哦,我没想到这一层。server push 实际上做到了下载和处理的并行化,这点打包是做不到的。 我明白你的观点,但你字里行间让我感觉你认为不完全的 HTTP/2 开启了没有意义,这是我表示反对的地方。

  • 通过 Nginx 启用 HTTP/2 at 2016年05月09日

    #29楼 @ibachue

    我的意思是如果“多次请求小文件和一次请求大文件的耗时在 HTTP/2 (without out server push) 下应该是差不多的”,那么通过 server push 来减少 request 数量的提升就不明显。因为 server push 实际上就相当于一个更聪明、粒度更细的、缓存 overhead 比较小的把多个小 request 合并成一个大 request 的方法。

    我的观点 Nginx 启用的 HTTP/2 虽然没有达到 HTTP/2 的最大性能,但是以最小的配置达到了显著的性能提升,比没有强。

  • 通过 Nginx 启用 HTTP/2 at 2016年05月09日

    #27楼 @ibachue 可能是我理解不对,但是你这句话和你上一条回复好像矛盾了。 所以,在 HTTP/2 下,多次请求小文件(不用 server push)到底是不是比一次请求大文件更耗时?

    我认为是这样的,HTTP/2 下,多次请求小文件也是更耗时的。对此,比较优秀的解决方法是用 server push。但是如果 app 端还不支持,用 assets pipeline 打包也比什么都不做好。启用 Nginx 上的 HTTP/2 只需要改动两三行 Nginx 配置,是目前最方便的提升性能的方法。而且在这种状态下,assets pipeline 打包依然比不打好。以后如果方便或有精力,当然可以换掉 assets pipeline 的打包,换用 server push。

  • 通过 Nginx 启用 HTTP/2 at 2016年05月08日

    #24楼 @ibachue 那如果用 requirejs 加载大量小型 js 文件难道不需要吗?Asset pipeline 的打包不是可以节省这部分时间么? 虽然有 overhead,但统计上并不严重。

  • 通过 Nginx 启用 HTTP/2 at 2016年05月08日

    #22楼 @ibachue 如果在 HTTP/2 下,加载大量小文件所花的时间开销很小,可以忽略的话,那么为什么还需要用 server push 把这些文件预先 push 过来呢?