dong706

k8s 单 pod 的性能压测发现的奇怪现象

  •  
  •   dong706 · Apr 24, 2023 · 3075 views
    This topic created in 1294 days ago, the information mentioned may be changed or developed.

    目标服务:是使用 java -jar 启动的 http 服务

    对比的双方是:a.在 k8s 里启动该 http 服务(宿主机 ip+nodeport 访问,实例数量只有 1 个) 和 b.在 k8s 宿主机上直接使用 java -jar 启动 http 服务

    限制:没有任何资源限制

    1 、第一轮对比测试:空接口

    a.TPS=58000

    b.TPS=62000

    k8s 环境性能损耗不到 10%

    2 、第二轮对比测试:SM2 加密

    a.TPS=550

    b.TPS=1200

    k8s 环境性能损耗 55%

    3 、第三轮对比测试:生成 RSA 密钥对

    a.TPS=550

    b.TPS=635

    k8s 环境性能损耗 13%

    1 和 3 的的结果还算符合预期,但是 2 的性能损耗高达 55%,测试好几遍都是这个结果,完全出乎意料之外,不知道怎么解释这个结果,求大佬解惑~~~

    9 replies  •  2023-04-25 17:31:16 +08:00
    dazhangpan
    dazhangpan
    Apr 24, 2023
    1
    可能容器里没识别出 SM2 的加速指令吧
    victorc
    victorc
    Apr 24, 2023
    2
    sm2 过程是否要写文件,容器的 fs 都有 cow 机制
    seers
    seers
    Apr 24, 2023
    3
    啥也没有让人怎么看。。日志,dump ,火焰图,给个 top 也行啊
    dong706
    dong706
    OP
    Apr 25, 2023
    4
    @victorc 没有写文件,纯粹的 java 工具类软加密
    crsmk01
    crsmk01
    Apr 25, 2023
    5
    这个结果有失偏颇,要限制一下 jvm 堆内存那些参数,pod 的 request 、limit cpu/mem 也限制一下,再去测试验证。
    ruanimal
    ruanimal
    Apr 25, 2023
    6
    是不是代码有用到多核加速?
    urnoob
    urnoob
    Apr 25, 2023
    7
    盲猜.
    SM2 耗时更多,大量的 HTTP 连接并发时,挂起的连接数也更多.
    当前一个结束连接释放时,处理挂起的连接逻辑在 k8s/docker 底层效率不够.
    kaddusabagei38
    kaddusabagei38
    Apr 25, 2023
    8
    不是想为了黑而黑,不过国密这种东西真的是一言难尽...
    victorc
    victorc
    Apr 25, 2023
    9
    @dong706 把 docker 的网络模式换成 host ,再测试一次
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   518 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    ♥ Do have faith in what you're doing.