Puma 6.0.0 发布,关注高并发的 Ruby HTTP 服务器
Puma 是一个简单、快速、线程化并且关注高并发的 HTTP 1.1 服务器,适用于开发和生产中的 Ruby/Rack 应用。
Puma 6.0.0 现已发布,该版本更新内容如下:
- Breaking Changes
- 放弃对 Ruby 2.2 和 2.3 的支持(现在是 2.4+)([ #2919 ])
- Remote_addr 功能已更改([ #2652 ],[ #2653 ])
- 不再支持 Java 1.7 或更低版本(JRuby 9.1 是最后一个支持该版本的版本)([ #2849 ])
- 移除 nakayoshi GC ([ #2933 ], [ #2925 ])
- wait_for_less_busy_worker 现在默认开启 ([ #2940 ])
- 为所有环境变量添加前缀
PUMA_([ #2924 ], [ #2853 ]) - 删除了一些常量([ #2957 ]、[ #2958 ]、[ #2959 ]、[ #2960 ])
- 以下类现在是 Puma 私有 API 的一部分:
Client、Cluster::Worker、Cluster::Worker、HandleRequest。([ #2988 ]) - 移除
DefaultRackup等配置常量 ([ #2928 ]) - 从
Events中提取LogWriter( [ #2798 ])
Features
- 将大型(100kb+)响应体的吞吐量提高 3-10 倍([ #2896 ],[ #2892 ])
- 增加文件响应的吞吐量([ #2923 ])
- 在 Rack 中添加对 streaming bodies 的支持。([ #2740 ])
- 允许通过 'reuse' ssl_bind 方法或绑定字符串查询参数重用 OpenSSL 会话([ #2845 ])
- 允许
run_hooks将 hash 传递给 blocks 以供以后使用([ #2917 ],[ #2915 ]) - 支持更高精度的 request_body_wait metric ([ #2953 ])
- 允许 header values 是数组(Rack 3)([ #2936 ],[ #2931 ])
- 在 /stats 中导出 Puma/Ruby 版本 ([ #2875 ])
- 允许配置请求 uri 最大长度和请求路径最大长度([ #2840 ])
- 添加几个公共访问器([ #2774 ])
- 当 worker 启动失败时记录整个回溯 ([ #2891 ])
- [jruby] 启用 TLSv1.3 支持 ([ #2886 ])
- [jruby] 支持设置 TLS 协议 + 重命名 ssl_cipher_list ([ #2899 ])
- [jruby] 支持 truststore 选项([ #2849 ],[ #2904 ],[ #2884 ])
Bug 修复
Refactor
更新说明:https://github.com/puma/puma/releases/tag/v6.0.0