trpc.group/trpc-go/trpc-go@v1.0.3/docs/benchmark.zh_CN.md (about)

     1  [English](benchmark.md) | 中文
     2  
     3  # 性能测试
     4  
     5  ## 测试环境
     6  
     7  * 腾讯云标准型 SA2 CVM,处理器型号 AMD EPYC™ Rome
     8    * uname -a
     9      * Linux VM-0-13-centos 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
    10    * cat /proc/cpuinfo
    11      * 见附录(8 核,2.60GHz)
    12  * 内存:16GB
    13  * 网络环境:主调和被调机器间 ping 平均延迟为 0.2ms 左右
    14  * 编译时使用的 Go 版本:1.21.2
    15  * 服务端:绑 8 核(taskset -c 0-7)
    16    * 逻辑:使用 trpc 协议 echo "hello" 字符串
    17      * 对应的发包包长 122
    18      * 对应的收包包长 27
    19  * 客户端:绑 8 核(taskset -c 0-7)
    20    * 使用 eab 以及压测脚本
    21    * 压测特点是 eab 会向服务端维持固定数量的长连接,然后在这些长连接上并发收发包
    22  * 默认都是启用的内置 tnet
    23  * 启用 tnet 的 poller 个数: 4
    24  * 客户端超时时间:由 eab 设置 2s
    25  * 服务端超时时间:通过框架配置设置为 1s
    26  
    27  ## 测试场景
    28  
    29  吞吐测试:调用方的 P99 延时在 10ms 左右时,测量服务的 QPS
    30  
    31  |模式|	连接数|	QPS/w|	平均时延/ms|	P90时延/ms|	P99时延/ms|	P999时延/ms|
    32  |-|-|-|-|-|-|-|
    33  |同步|	100|	486652|	2.67|	4.22	|10.24	|16.76|
    34  |异步|	100|	404355|	2.61|	4.33	|10.34	|16.07|
    35  
    36  ## 附录
    37  
    38  ```shell
    39  vendor_id	: AuthenticAMD
    40  cpu family	: 23
    41  model		: 49
    42  model name	: AMD EPYC 7K62 48-Core Processor
    43  stepping	: 0
    44  microcode	: 0x1000065
    45  cpu MHz		: 2595.124
    46  cache size	: 512 KB
    47  physical id	: 0
    48  siblings	: 8
    49  core id		: 11
    50  cpu cores	: 8
    51  apicid		: 7
    52  initial apicid	: 7
    53  fpu		: yes
    54  fpu_exception	: yes
    55  cpuid level	: 13
    56  wp		: yes
    57  flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm art rep_good nopl extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext rsb_ctxsw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 arat
    58  bogomips	: 5190.24
    59  TLB size	: 1024 4K pages
    60  clflush size	: 64
    61  cache_alignment	: 64
    62  address sizes	: 48 bits physical, 48 bits virtual
    63  power management:
    64  ```
    65