更新时间:2024-10-21 GMT+08:00
mesher性能损耗是多少?
服务网格技术实际利用了网络流量劫持的方式来管理服务间流量,除了mesher本身内部的逻辑处理会耗时之外,还会引起额外的用户态和内核态间转换(CPU会有额外消耗),而前者相对于后者性能影响极小,因此性能损耗基本取决于网络中传输的payload大小。以http协议举例,影响传输速度的就是header、body等内容的大小。mesher一次端到端调用中的延迟为1ms,一个典型的用户测试过自己真实的业务调用,加上mesher后,延迟高了4ms,在用户可接受范围内。
以下测试结果为加入mesher前后的性能测试对比,使用的payload很小,就是字符串helloworld,但是加入了一定的代码以增加服务端的计算时间来模仿业务代码执行耗时。
指标 |
使用前 |
使用后 |
---|---|---|
TPS |
1749 |
1496 |
Latency |
2.8ms |
3.34ms |
CPU |
50% |
100% |
Concurrency |
5 |
5 |
从以上结果可以看出mesher本身性能损耗很低,性能的主要瓶颈是在业务代码,如果增大payload内容,性能将会进一步降低。
建议在初期选型与POC时,使用该技术进行业务间的调用以测试真实性能损耗。
父主题: ServiceComb引擎