【BeetleX重构】TLS和多数据类型性能测试
内容提要
本文主要针对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重构的效果。