【BeetleX重构】TLS和多数据类型性能测试

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

本文主要针对HTTPS和不同序列化组件响应体中的性能进行测试。测试结果显示开启TLS会有30%-40%的性能损耗。在响应对象测试中,Google.Protobuf.net组件表现最优,System.Text.Json也是不错的选择。作者计划更新techempower上的测试代码以验证BeetleX重构的效果。

🎯

关键要点

  • 本文主要测试HTTPS和不同序列化组件的性能。

  • 开启TLS会导致30%-40%的性能损耗。

  • 在响应对象测试中,Google.Protobuf.net组件表现最佳,System.Text.Json也是不错的选择。

  • 测试逻辑较为复杂,考虑了请求响应的类型和数量。

  • Protobuf.Net在高并发下存在性能问题,建议使用Google.Protobuf.net。

  • 测试环境为A家云32核服务器,使用wrk工具进行压力测试。

  • 实际应用中,网络通讯的损耗可能不太重要,因为数据库IO和运算逻辑占比更高。

  • 后续计划更新techempower上的测试代码以验证BeetleX重构效果。

  • 提供了测试服务端的链接和提取码,供需要的用户使用。

  • BeetleX是一个开源跨平台通讯框架,支持多种协议。

延伸问答

开启TLS对性能的影响有多大?

开启TLS会导致30%-40%的性能损耗。

在响应对象测试中哪个组件表现最好?

Google.Protobuf.net组件表现最佳,System.Text.Json也是不错的选择。

测试中使用了什么工具和环境?

测试环境为A家云32核服务器,使用wrk工具进行压力测试。

Protobuf.Net在高并发下有什么问题?

Protobuf.Net在多线程高并发下存在严重性能问题,建议使用Google.Protobuf.net。

实际应用中网络通讯的损耗重要吗?

在实际应用中,网络通讯的损耗可能不太重要,因为数据库IO和运算逻辑占比更高。

后续有什么计划来验证BeetleX的效果?

后续计划更新techempower上的测试代码以验证BeetleX重构的效果。

🏷️

标签

➡️

继续阅读