参照 ShenYu 也 WebFlux 用 WebClient 转发 性能一直不行 终于找到问题了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
heliotrope
V2EX    程序员

参照 ShenYu 也 WebFlux 用 WebClient 转发 性能一直不行 终于找到问题了

  •  
  •   heliotrope 2024-09-05 09:33:06 +08:00 1699 次点击
    这是一个创建于 468 天前的主题,其中的信息可能已经有所发展或是发生改变。
    # wrk -c600 -t4 -T10 -d180 --latency http://192.168.101.233:9195/gateway/sys/api
    Running 3m test @ http://192.168.101.233:9195/gateway/sys/api
    4 threads and 600 connections
    Thread Stats Avg Stdev Max +/- Stdev
    Latency 3.17s 3.10s 9.84s 76.92%
    Req/Sec 473.03 366.87 1.79k 55.65%
    Latency Distribution
    50% 2.32s
    75% 5.89s
    90% 7.60s
    99% 9.78s
    35926 requests in 3.00m, 8.81MB read
    Socket errors: connect 0, read 0, write 2669, timeout 712
    Requests/sec: 199.51
    Transfer/sec: 50.07KB

    去掉日志

    # wrk -c600 -t4 -T10 -d180 --latency http://192.168.101.233:9195/gateway/sys/api
    Running 3m test @ http://192.168.101.233:9195/gateway/sys/api
    4 threads and 600 connections
    Thread Stats Avg Stdev Max +/- Stdev
    Latency 89.75ms 36.12ms 442.22ms 89.28%
    Req/Sec 1.71k 513.97 2.94k 70.65%
    Latency Distribution
    50% 78.67ms
    75% 93.57ms
    90% 128.32ms
    99% 252.93ms
    1224552 requests in 3.00m, 300.13MB read
    Socket errors: connect 0, read 0, write 152, timeout 0
    Requests/sec: 6799.68
    Transfer/sec: 1.67MB



    感情是在等着写日志呢 查了好久的问题...
    6 条回复    2024-09-05 18:10:51 +08:00
    sagaxu
        1
    sagaxu  
       2024-09-05 09:50:45 +08:00
    日志同步写入日志服务了?正常写日志性能影响应该很小
    diagnostics
        2
    diagnostics  
       2024-09-05 14:53:11 +08:00
    Log 都不是 async 的吗?至少 logback 是
    heliotrope
        3
    heliotrope  
    OP
       2024-09-05 16:31:33 +08:00
    @sagaxu
    没有 就正常的 logback 写文件和 console
    我实测性能影响特别大 关了提升 30 倍打底
    我刚搜了一下很多写 日志拖垮系统的文章
    并且 ShenYu 的基准测试说明里面
    特地写了一条 日志级别 WARN
    我用的是 INFO 就采坑了 排查了好久才发现
    heliotrope
        4
    heliotrope  
    OP
       2024-09-05 16:32:01 +08:00
    @diagnostics
    用的就是 logback
    heliotrope
        5
    heliotrope  
    OP
       2024-09-05 16:38:09 +08:00
    @diagnostics
    可能打印的数量少不影响吧
    我的转发目标接口也是 WebFlux 写的 但是只打印了一行日志
    性能就没什么问题

    转发接口打印了十几行日志
    性能掉了 30 倍以上
    sagaxu
        6
    sagaxu  
       2024-09-05 18:10:51 +08:00
    @heliotrope 不要写 Console ,它是同步的,单线程阻塞的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1248 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 17:19 PVG 01:19 LAX 09:19 JFK 12:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86