kitex icon indicating copy to clipboard operation
kitex copied to clipboard

perf/fix: reuse rpcinfo to improve performance

Open jayantxie opened this issue 3 years ago • 1 comments

What type of PR is this?

perf/fix

What this PR does / why we need it (en: English/zh: Chinese):

en: reuse rpcinfo to improve performance in long connection and gRPC scene, and fix the dirty data problem of rpcinfo multiplexing in netpollmux scene. zh: 在长连接和gRPC场景下复用rpcinfo来提高性能,修复多路复用场景下rpcinfo复用导致的脏数据问题。

Which issue(s) this PR fixes:

jayantxie avatar Aug 03 '22 10:08 jayantxie

补充性能压测结果:

Buffered:

commit TPS TP99 TP999 Server CPU AVG Client CPU AVG
9d86568 206608 1.08ms 2.86ms 386.24 527.54
d83b2557(develop) 200767 1.10ms 2.75ms 385.95 510.63

Framed:

commit TPS TP99 TP999 Server CPU AVG Client CPU AVG
9d86568 208434 1.07ms 2.97ms 387.62 528.56
d83b2557(develop) 202327 1.08ms 2.83ms 387.67 522.14

TTheader:

commit TPS TP99 TP999 Server CPU AVG Client CPU AVG
9d86568 190920 1.17ms 2.82ms 388.25 507.91
d83b2557(develop) 183560 1.19ms 2.84ms 389.18 492.30

FramedMux:

commit TPS TP99 TP999 Server CPU AVG Client CPU AVG
9d86568 289278 1.12ms 1.41ms 362.69 624.50
d83b2557(develop) 294895 1.10ms 1.37ms 361.29 619.29

GRPC:

commit TPS TP99 TP999 Server CPU AVG Client CPU AVG
9d86568 116903 2.27ms 2.88ms 386.33 605.09
d83b2557(develop) 118109 2.25ms 2.83ms 386.12 614.33

多路复用和GRPC场景增加了rpcinfo重置,吞吐分别下降1.7%、1%

jayantxie avatar Aug 03 '22 12:08 jayantxie