电商网站搭建——upstream的指令参数

一、max_conns

       max_conns:最大连接客户端的数量,默认是0,表示不受任何限制,我们通过设置max_conns,可以对服务器起到一种保护的作用。max_conns在老版本是不可以使用的(除了商业版本可以使用),在新版本可以使用。如果使用多个worker(工作进程),那么它的总连接数会超过max_conns(由于多个worker共享内存),每个worker都可以使用最大连接数max_conns。

       实验如下:

1.配置imooc.conf

为每个tomcat服务器配置最大连接数都是2。

2.配置nginx.conf

将工作进程修改为1,就不会使用到共享内存了。

3.测试

这里使用jmeter测试,线程数设置为200,间隔0秒,循环次数10

配置请求nginx的信息

点击运行后,查看结果:

       我们发现,请求不能全部处理掉,因为连接、释放请求都是需要消耗时间的,那么从我们刚才配置的imooc.conf来看,nginx一次最大能处理6个请求,然后再释放,再可以处理新的6个连接(max_conns总数为:2+2+2)。从结果来看,nginx也是处理6个左右的请求(在6个左右),然后才能处理新的请求,如果请求不过来,就会返回客户端502。

       我们现在来测试两台:

       结果如下:

       从结果来看,请求的成功数在4个左右浮动,如果nginx忙不过来,会返回502,告诉客户端这是一个错误的请求。

       接着,我们来测试一台:

       结果如下:

       从结果来看,请求成功数在2左右浮动。

二、slow_start

       slow_start:缓慢地启动,使用了这个参数,就可以使服务器缓慢的加入到集群,而不是一下子就启动。使用场景:某个应用不想一下子迎来很多流量,便于工作人员监控流量从少到多的过程。

       如果配置了权重weight,它会把weight覆盖掉,比如配置了weight=10,那么会把权重从0逐个升到10,它是慢慢慢慢去升级的,它会在一段时间里进行升级(也就是配置的时间slow_start=time),其实就是把我们不健康的服务器变成健康的服务器。

       默认的slow_start是0,该参数不能使用在 hash(一种负载均衡器) 和 random load balancing (一种负载均衡器)中。如果在 upstream 中只有一台 server,则该参数失效,只能适用于两台或两台以上的服务器。

       接下来,我们给集群中的一台服务器配置slow_start为60s

       但是,当我们配置好,重新加载配置文件时,发现如下提示。slow_start这个参数只能在付费的商业版使用,开源的版本无法使用。不过,我们在学习的过程中,知道slow_start的原理和怎么配置它就ok了。

三、down与backup

down:标识某个服务器不可用,下面,我们配置使得192.168.3.9这台服务器不可用,它对应的页面是tomcat3

那么,tomcat3这个页面就不会出现,而是tomcat2、tomcat1

backup:备用服务器标识。如果正在使用的服务器全部宕机了,那么被标识为backup的那台服务器就会被用到。

四、max_fails 与 fail_timeout

       max_fails:最大的失败次数。如果某一台server失败次数到达了最大的失败次数,那么nginx就认为这台server宕机,挂掉了。nginx会把这台server剔除到外部,客户端新的请求就不会访问到这台挂掉的server了。

       max_fails默认值是1。

       fail_timeout:失败的时间段。

       假设我们配置的max_fails=2,fail_timeout=15s,那么当客户端在15s内请求这台server的次数达到2,那么接下来,nginx会在15s内不让客户端来请求这台server,而会落到其他正常的server上,等到15s过后,客户端请求再次落到这台server上,当请求失败的次数在15s内再次达到2次时,nginx会在15s内不让客户端来请求这台server,如此循环往复。

       fail_timeout默认值是10s。

接下来,我们来配置一下,如下图:

      实验结果:

       由于开始的时候tomcat1是开启的,所以前期tomcat1和tomcat2都可以被访问,之后,tomcat1停掉,只有tomcat1可以被访问。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@所谓伊人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值