Skip to content
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

Clone this wiki locally