zoukankan      html  css  js  c++  java
  • LVS与其他负载均衡软件的区别

    有人在邮件列表问haproxy的作者为何haproxy无论是tcp模式还是http模式,能支撑的并发量都不是太大。

    Willy回答了这个问题。
     
    Exactly. The difference is between LBs that process a stream and which
    are proxy-based,
    and the ones which process packets and are basically
    routers
    . In order to parse and modify a stream, you need some memory,
    while you don't need this to route packets (beyond the routing queue).
    L4 load balancers often store a session table which is a few hundreds
    of bytes per session, as opposed to a few tens of kB of buffers for
    proxies. However, L4 LBs have to deal with TIME_WAIT, which proxies
    don't since it's done in the system, so in practice, the ratio is not
    really tens-of-thousands to millions but rather tens-of-thousands to
    hundreds-of-thousands when the connection rate are high.

    > and why in HAProxy
    > you can have "only" thousends of connections while LVS like LBs can
    > annouce millions...
    > So in haproxy, whatever the mode, tcp or http, you'll always have
    > thousends of connexions.

    In fact it depends a lot on the configured memory and on the kernel
    tuning. With todays 64-bit systems and cheap RAM, there's plenty of
    margin. We had one user who reported 1 million established connections
    in a bench, and several ones reported more than 300k in production. In
    Linux, by default, processes are limited to 1 million FDs so you need
    to patch the kernel or to run in multi-process mode for this. I assume
    it's not that crazy to run several processes when you have to deal with
    1 million concurrent connections :-)
     
     
    if you don't need any form of session persistence or content switching,
    LVS might be more suited for this usage.
  • 相关阅读:
    102. 教程:重装谷歌浏览器的教程
    IGBT知识普及
    [刷机资源] 荣耀8 E5 B391 V2 ROM集合 Xposed DPI调整等 N多自定义功能 Kangvip@HRT( 2017-9-28)
    ITPUB附件下载免输验证码 (实际下载地址的规则)
    花生壳内网穿透不再支持国外IP!
    golang 如何开发windows窗口界面
    golang 热重启
    强化go get命令
    go mod get go-git timeout
    golang单一职责原则接口设计例子
  • 原文地址:https://www.cnblogs.com/duanxz/p/4225393.html
Copyright © 2011-2022 走看看