免费注册
帮助文档(华北一、二)

  • 1. SLB支持哪些协议?对于web应用, HTTP和TCP选哪个更好?

    SLB VServer可以创建两种模式:请求代理模式和报文转发模式。请求代理模式支持TCP和HTTP(HTTPS)等协议. 对于web应用, 首选HTTP协议, 因为SLB能理解HTTP协议, 从而能更有针对性的进行负载均衡服务, 也可以提供基于HTTP协议的云服务器健康检查。对性能要求非常高的场景下, web应用跑TCP协议有略微的性能优势。报文转发模式则支持TCP协议和UDP协议,性能更强。对性能有需求的用户请优先选择报文转发模式。

    2. SLB支持哪些转发规则?哪种更好?

    SLB分为请求代理和报文转发两种模式。

    ● 目前请求代理模式支持轮询、源地址、加权轮询、最小连接数四种算法。

    1. 轮询算法下, SLB接收到新的TCP连接后, 依次转给每个后端云服务器。

    2. 源地址算法下, SLB会根据TCP连接的源地址,利用一定的哈希算法将请求其转给某台云服务器。之后用户再以相同IP访问, 如云服务器数量不变时,访问还是会落到该台云服务器。

    3. 加权轮询算法下,SLB接收到新的TCP连接后,将根据您指定的后端云服务器的不同权重,按照概率分配给各个后端云服务器。

    4. 最小连接数算法下,SLB接受到新的TCP连接后,会实时统计SLB到后端云服务器的连接数,选择连接数最低的云服务器建立新连接并发送数据。

    ● 目前报文转发模式支持轮询、源地址、一致性哈希、源地址(计算端口)、一致性哈希(计算端口)、加权轮询六种算法。

    1. 轮询算法。同上。

    2. 源地址算法。同上。

    3. 一致性哈希算法。一致性哈希算法是根据源目的IP,使用一致性哈希算法的结果选择后端云服务器。如果增加或者删减后端云服务器,仅仅会影响小部分连接。

    4. 源地址(计算端口)算法。SLB会根据TCP连接的源地址和源端口,利用一定的哈希算法将请求其转给某台云服务器。

    5. 一致性哈希(计算端口)算法。根据源目的IP、源目的端口,使用一致性哈希算法的结果选择后端云服务器。如果增加或者删减后端云服务器,仅仅会影响小部分连接。

    6. 加权轮询算法。同上。

    一般情况下,使用轮询算法就可以满足绝大多数负载均衡场景的需求, 您也可以根据自己的业务场景选择恰当的算法。

    3. SLB的会话保持是什么?服务端插入与用户定义的区别是什么?

    会话保持是SLB提供的高级功能,可以在轮询等负载均衡算法下,保证同一个源的请求,能够落在相同的后端云服务器上。

    请求代理模式下,会话保持功能是利用cookie实现的。SLB会向源端写cookie,并根据请求带有的cookie信息,直接将请求送给对应的后端云服务器。服务端插入指, 由负载均衡生成cookie的key. 用户定义指由用户指定特征cookie的key.

    报文转发模式下,会话保持功能是基于连接表实现的。

    4. SLB是否会宕机?

    SLB采用集群架构,基于跨可用区的分布式部署,利用BGP+ECMP实现集群的自动容灾,保证在可用区级别的灾难下,依旧可以正常工作。

    5. SLB是否有性能的限制,例如带宽、请求数, 连接数?

    SLB的带宽是存在上限的,其带宽由EIP的带宽决定。由于SLB服务器的性能限制,单个SLB实例能够承载的带宽上限为4Gbps左右。

    如果您使用的是SLB的请求代理模式,则每个SLB实例能支持HTTP请求的每秒新建连接数上限为8万;HTTPS每秒新建连接数上限为8千。并发连接数上限约为100万。

    如果您使用的是SLB的报文转发模式,则每个SLB实例能够支持40万每秒新建连接数,1000万包量,超过5000万并发连接。

    6. 为什么对SLB压测时会出现连接失败?

    通常情况下,在使用Linux操作系统作为压测模拟客户端时,当压测性能达到SLB极限前,不会出现连接失败的情况。

    但对于使用Windows作为压测的模拟客户端时,可能会出现TCP连接失败的问题。这是由于在压测场景下,Windows系统会快速复用客户端IP和端口发起TCP连接的建立,而在被压测SLB的后端Linux服务节点上TCP协议栈中,以相同的源地址及端口所建立的TCP连接可能尚未被释放完毕,若此时如果 "新建连接的序列号" 大于 "已存在连接的序列号",Linux服务节点就会认为新建连接的SYN请求是已存在连接的重传,从而导致新的TCP连接建立失败。

    所以在对SLB进行压测时,请尽量使用Linux作为压测模拟客户端,如果必须使用Windows系统作为压测模拟客户端,则需添加系统注册表中关于TCP时间戳的选项,该选项默认在Windows系统中是未激活的,具体配置参见:windows帮助文档:

    https://technet.microsoft.com/en-us/library/cc938205.aspx

    7. web console中的"运行"状态, 是指什么? 怎样知道后端某台服务器的