我们测试机器的配置如下图所示,我们共有三台配置相同的机器,其中两台作为客户端,一台作为服务端
    tars

    机器配置如下

    软件 软件要求
    系统内核 Linux 3.10.94 x86_64 x86_64 GNU/Linux
    cpu 信息 3.30Ghz cpu*8
    内存信息 16GB
    网卡 千兆网卡
    硬盘信息 7200rpm 机械硬盘

    第一项测试我们测试机器的常规性能,我们在客户端机器上上部署了2个网络线程和5个业务线程,发送常规大小的业务数据测试
    第二项测试我们测试tars的极限性能,我们分别在两台作为客户端的机器上上开了50个进程,每个进程下有16个线程,每个线程发送4字节大小的业务数据包,测试结果如下,

    语言种类 客户端机器数量 进程数量 线程数量 字节包大小(B) TPS(w/s) 平均耗时(ms) cpu利用率 网卡入流量(Mb/s) 出流量(Mb/s) 网卡入包量(/s) 出包量(/s)
    c++ 1 1 1 4 0.7 0.13 3% 8M       7M 7214    7220
    c++ 1 1 1 1024 0.52 0.17 3% 53M      50M 5677    5666
    c++ 2 1 10 4 11.39 0.17 28% 139.729M 92.389M 127,267 127,923
    c++ 2 1 10 1024 6.73 0.29 19% 644.135M 616.395M 95,424 95,823
    c++ 2 2 10 4 20.05 0.20 63% 238.542M 158.658M 220,434 221,658
    c++ 2 2 10 1024 10.03 0.38 38% 972.232M 930.256M 141,841 142,388
    c++ 2 5 10 4 27.22 0.37 84% 327.972M 215.173M 306,896 300,099
    c++ 2 5 10 1024 10.02 0.96 48% 974.102M 932.277M 132,091 133,574
    c++ 2 50 16 4 41 3.88 92% 463.815M 313.112M 422,732 431,050
    java 1 1 1 4 0.7 0.13 5% 8.424M       6.041M 7773    7793
    java 1 1 1 1024 0.52 0.17 8% 61.866M 59.951M 6674    6700
    java 2 1 10 4 9.83 0.18 34% 155.719M 106.310M 156,681 148,201
    java 2 1 10 1024 7.82 0.27 26% 694.184M 669.369M 103,564 104,158
    java 2 2 10 4 20.42 0.20 57% 254.149M 183.307M 252,928 259,064
    java 2 2 10 1024 10.03 0.38 41% 964.790M 930.363M 141,965 143,004
    java 2 5 10 4 26.34 0.34 77% 244.887M 186.358M 243,527 254,967
    java 2 5 10 1024 10.11 0.97 48% 967.217M 939.408M 132,421 135,919
    java 2 50 16 4 38 4.27 82% 438.999M 329.996M 413,046 426,961

    测试结果仅供参考,实际结果会因为测试条件和测量方法的不同而产生影响