Yan Shiguang edited this page Dec 11, 2016 · 3 revisions

极限性能测试方法

  1. Makefile中增加 CXXFLAGS ?= -DSOFA_PBRPC_TCP_NO_DELAY=false,启用Nagle algorithm。
  2. client和server联编tcmalloc。
  3. client采用异步方式尽力投递。
  4. 根据机器的核数,调整client端work_thread_num与callback_thread_num.
  5. 调整server端work_thread_num与io_service_pool_size,增加io_service_pool_size对性能有显著提升。

吞吐性能

测试配置

  • RPC请求模式:Request 数据 1 byte(发送字符串”z”); Response 数据 2 byte(返回字符串”OK”);关闭tcp_no_delay。
  • 机器配置:CPU 16 core, 128G内存, 万兆网卡。
  • Client配置:8个client进程分布在8台机器上,每个client进程尽自己最大努力并发发送异步请求,接收回复并检查返回值正确性。

测试结果

thread

ioservice
1 2 4 8 12 16 20 24 32
1 60510 101991 255437 445702 545815 507490 474581 454665 420289
2 130175 287485 591680 942649 759990 692377 640385 581776 448734
4 362931 672653 1198326 1096107 863979 694021
8 807089 1041806 1233861 1096262
12 1208226 1400701 1328662
16 1469432 1152307
20 1458172 1270719
24 1145622
28 1182464
32 1157053

sofa-pbrpc-performance-qps

延迟性能

测试配置

  • 同机启动server和client,client限速2000qps,请求包分别为256B、1KB、4KB、10KB、100KB、1MB,运行10秒后统计延时的分布。
  • 机器配置:CPU 16 core, 128G内存, 万兆网卡。

测试结果

sofa-pbrpc-performance-delay

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.