【Rust日报】gRPC基准测试,Rust 表现很好

科技   2024-10-29 14:01   加拿大  

rfc8441 - 定义了一种在单个 HTTP/2 连接的单个流上运行 WebSocket 协议的机制

rfc8441 定义了一种在单个 HTTP/2 连接的单个流上运行 WebSocket 协议的机制。它通过扩展 HTTP CONNECT 方法来实现这一点,允许在 HTTP/2 流上建立一个隧道来运行 WebSocket 协议(或任何其他协议)。

主要内容包括:

  1. 引入了一个新的 HTTP/2 设置参数 SETTINGS_ENABLE_CONNECT_PROTOCOL,用于启用扩展的 CONNECT 方法。

  2. 扩展了 CONNECT 方法,允许指定要连接的协议名称,而不是外部主机。

  3. 定义了在扩展的 CONNECT 隧道上引导 WebSocket 协议的过程和示例。

  4. 讨论了设计考虑因素、中介问题和安全注意事项。

  5. 为新的 HTTP/2 设置参数和 HTTP 升级令牌分配了 IANA 代码点。

这使 WebSocket 能够在单个 HTTP/2 连接上运行,从而更高效地利用网络。

https://datatracker.ietf.org/doc/html/rfc8441

gRPC基准测试 - Rust 表现很好

一个gRPC基准测试结果,比较了各种编程语言和框架在gRPC中的性能表现。测试包括每秒请求数(req/s)、平均延迟、90/95/99百分位延迟、平均CPU利用率和平均内存使用。

总体来看,Rust的实现表现最佳,例如rust_wtx每秒可处理67502个请求,平均延迟12.45毫秒。其次是Go的一些实现,如go_vtgrpc和go_grpc。C++的实现也不错。而Java、Python、Erlang等语言的实现则相对较慢。

这个基准测试为选择合适的gRPC框架和语言提供了很好的参考,可以根据具体需求对性能、资源使用等指标进行权衡。值得注意的是,实际应用场景下的性能可能与基准测试有所差异,但这个测试结果仍然具有一定的指导意义。

https://github.com/LesnyRumcajs/grpc_bench/discussions/475

metrics - 收集和分析与Diesel ORM相关的指标和分析数据的代码和资源

该仓库包含了用于收集和分析与Diesel ORM相关的指标和分析数据的代码和资源。主要内容包括:

  1. .github/workflows目录下存放GitHub Actions的工作流程配置文件。

  2. metrics目录可能包含与指标收集和处理相关的Rust代码。

  3. Readme.md是仓库的自述文件,解释了该项目的用途和使用说明。

  4. analytics.R可能是用于分析收集到的指标数据的R语言脚本文件。

该仓库旨在通过收集和分析指标数据,帮助diesel-rs团队更好地了解Diesel ORM的使用情况,并根据这些数据进行项目改进和优化。这对于提高Diesel的性能、可用性和开发者体验至关重要。

https://github.com/diesel-rs/metrics

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章