参照 ShenYu 也 WebFlux 用 WebClient 转发 性能一直不行 终于找到问题了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
heliotrope

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

  •  
  •   heliotrope Sep 5, 2024 1914 views
    This topic created in 602 days ago, the information mentioned may be changed or developed.
    # 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 replies    2024-09-05 18:10:51 +08:00
    sagaxu
        1
    sagaxu  
       Sep 5, 2024
    日志同步写入日志服务了?正常写日志性能影响应该很小
    diagnostics
        2
    diagnostics  
       Sep 5, 2024
    Log 都不是 async 的吗?至少 logback 是
    heliotrope
        3
    heliotrope  
    OP
       Sep 5, 2024
    @sagaxu
    没有 就正常的 logback 写文件和 console
    我实测性能影响特别大 关了提升 30 倍打底
    我刚搜了一下很多写 日志拖垮系统的文章
    并且 ShenYu 的基准测试说明里面
    特地写了一条 日志级别 WARN
    我用的是 INFO 就采坑了 排查了好久才发现
    heliotrope
        4
    heliotrope  
    OP
       Sep 5, 2024
    @diagnostics
    用的就是 logback
    heliotrope
        5
    heliotrope  
    OP
       Sep 5, 2024
    @diagnostics
    可能打印的数量少不影响吧
    我的转发目标接口也是 WebFlux 写的 但是只打印了一行日志
    性能就没什么问题

    转发接口打印了十几行日志
    性能掉了 30 倍以上
    sagaxu
        6
    sagaxu  
       Sep 5, 2024
    @heliotrope 不要写 Console ,它是同步的,单线程阻塞的
    About     Help     Advertise     Blog     API     FAQ     Solana     2737 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 472ms UTC 13:04 PVG 21:04 LAX 06:04 JFK 09:04
    Do have faith in what you're doing.
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11940834-2', 'v2ex.com'); ga('send', 'pageview'); ga('send', 'event', 'Node', 'topic', 'programmer'); /script> 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