V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dong706
V2EX  ›  Kubernetes

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

  •  
  •   dong706 · 2023-04-24 20:01:30 +08:00 · 1893 次点击
    这是一个创建于 613 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目标服务:是使用 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 条回复    2023-04-25 17:31:16 +08:00
    dazhangpan
        1
    dazhangpan  
       2023-04-24 20:18:05 +08:00
    可能容器里没识别出 SM2 的加速指令吧
    victorc
        2
    victorc  
       2023-04-24 23:26:39 +08:00
    sm2 过程是否要写文件,容器的 fs 都有 cow 机制
    seers
        3
    seers  
       2023-04-24 23:36:41 +08:00
    啥也没有让人怎么看。。日志,dump ,火焰图,给个 top 也行啊
    dong706
        4
    dong706  
    OP
       2023-04-25 08:05:29 +08:00
    @victorc 没有写文件,纯粹的 java 工具类软加密
    crsmk01
        5
    crsmk01  
       2023-04-25 09:57:26 +08:00
    这个结果有失偏颇,要限制一下 jvm 堆内存那些参数,pod 的 request 、limit cpu/mem 也限制一下,再去测试验证。
    ruanimal
        6
    ruanimal  
       2023-04-25 10:28:25 +08:00
    是不是代码有用到多核加速?
    urnoob
        7
    urnoob  
       2023-04-25 14:15:05 +08:00
    盲猜.
    SM2 耗时更多,大量的 HTTP 连接并发时,挂起的连接数也更多.
    当前一个结束连接释放时,处理挂起的连接逻辑在 k8s/docker 底层效率不够.
    kaddusabagei38
        8
    kaddusabagei38  
       2023-04-25 14:27:28 +08:00
    不是想为了黑而黑,不过国密这种东西真的是一言难尽...
    victorc
        9
    victorc  
       2023-04-25 17:31:16 +08:00
    @dong706 把 docker 的网络模式换成 host ,再测试一次
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2856 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:08 · PVG 11:08 · LAX 19:08 · JFK 22:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.