Go 语言项目性能优化实例剖析 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
flikecn

Go 语言项目性能优化实例剖析

  •  
  •   flikecn
    flike Nov 4, 2015 4600 views
    This topic created in 3842 days ago, the information mentioned may be changed or developed.

    最近 kingshard 的功能开发节奏慢了许多。一方面是工作确实比较忙,另一方面是我觉得 kingshard 的功能已经比较完善了,下一步的开发重点应该是性能优化。毕竟作为一个 MySQL proxy,如果转发 SQL 的性能很差,再多的功能都无济于事。所以这个周末一直宅在家里优化 kingshard 的转发性能。经过两天的探索发现,将 kingshard 的转发 SQL 性能提升了 18%左右,在这个过程中学到了一下知识。借此机会分享一下,同时也是督促一下自己写博客的积极性。:)

    在这就不细说了,感兴趣的请移步: https://github.com/flike/kingshard/blob/master/doc/KingDoc/kingshard_performance_profiling.md

    20 replies    2015-11-07 15:20:52 +08:00
    flikecn
        1
    flikecn  
    OP
       Nov 4, 2015
    有感兴趣的吗?
    coolicer
        2
    coolicer  
       Nov 4, 2015
    @flikecn 小型的应用是不是用不到啊。
    flikecn
        3
    flikecn  
    OP
       Nov 4, 2015
    @coolicer 我觉得如果需要读写分离,就可以用到。
    struCoder
        4
    struCoder  
       Nov 4, 2015
    一直在关注这个项目。顶
    zhujinliang
        5
    zhujinliang  
       Nov 4, 2015
    感谢楼主的测试与实践
    之前写一个直播服务器时也注意到 SetNoDelay ,奇怪 go 为什么默认为 true ,以我的理解,这个不应该是 tcp 栈自动调度的么
    0987363
        6
    0987363  
       Nov 4, 2015
    正在做的东西跟这个比较类似, 看了下代码,没有说响应时间呢

    我测试的单线 accept , read 到数据,原封不动写回去,客户端超时 2s ,休眠 1s 循环请求,最高不超过 2w 个连接
    加上 reuseport ,最高 3w-4w 之间
    协议栈缓冲区什么的都加大了的
    MeOO
        7
    MeOO  
       Nov 4, 2015
    好东西,正在学 GO
    gamexg
        8
    gamexg      Nov 4, 2015
    @zhujinliang false 会造成小包最大延迟一个 ttl 发送,也就是小包协议增加延迟。 true 是优化吞吐量,但是下载之类的真的需要吞吐量的时候一般每次 write 的数据都不会少,立即发送也足够填满 tcp 包。
    nevernet
        9
    nevernet  
       Nov 4, 2015
    flikecn
        10
    flikecn  
    OP
       Nov 4, 2015
    @zhujinliang 感觉对于需要大量发送数据包的服务来说,应该关闭这种选项。
    flikecn
        11
    flikecn  
    OP
       Nov 4, 2015
    @nevernet 之前也参与了 Atlas 开发,不过现在开发了一个新的 proxy 。功能更强大。:)
    flikecn
        12
    flikecn  
    OP
       Nov 4, 2015
    @0987363 响应设计可以测了,没放上去。 QPS 越高,响应时间肯定越短。
    flikecn
        13
    flikecn  
    OP
       Nov 4, 2015
    @gamexg 是的。不同的应用,肯定不一样。
    oop99
        14
    oop99  
       Nov 4, 2015
    mark, 在学 go
    flikecn
        15
    flikecn  
    OP
       Nov 4, 2015
    @oop99 :)
    lenran
        16
    lenran  
       Nov 4, 2015
    kingsoft?我在猜楼主的身份
    flikecn
        17
    flikecn  
    OP
       Nov 5, 2015
    @lenran 嗯,我目前在 WPS 工作。
    lenran
        18
    lenran  
       Nov 5, 2015
    @flikecn 果然!楼主涉猎很广啊
    flikecn
        19
    flikecn  
    OP
       Nov 6, 2015
    @lenran 菜鸟一枚。
    lenran
        20
    lenran  
       Nov 7, 2015
    @flikecn 您过谦了!
    About     Help     Advertise     Blog     API     FAQ     Solana     3558 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 54ms UTC 11:21 PVG 19:21 LAX 04:21 JFK 07:21
    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