高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5nginx

若是低于这个版本,在Nginx的配置中web

upstream web_app {
        server       到达Ip1:端口 max_conns=10;
        server       到达Ip2:端口 max_conns=10;
    }tomcat

 server {
        listen       80;
        server_name  localhost;并发

        #charset koi8-r;app

        #access_log  logs/host.access.log  main;工具

        location / {
            proxy_pass http://web_app;
        }测试

这个max_conns用不了,Nginx会启动不了。固然这个参数要根据你的限流跟真实状况来配置,我这里配10的意思就是说一次并发只有10个访问request能进入,但并非说只能访问10次,不一样的时间段,不是并发则能够永远访问。spa

我的测试方法:ab工具测试,具体方法以下日志

  1. #ab运行须要依赖apr-util包,安装命令为:  
  2. yum install apr-util  
  3. #安装依赖 yum-utils中的yumdownload 工具,若是没有找到 yumdownload 命令能够  
  4. yum install yum-utils  
  5. cd /opt  
  6. mkdir abtmp  
  7. cd abtmp  
  8. yum install yum-utils.noarch  
  9. yumdownloader httpd-tools*  
  10. rpm2cpio httpd-*.rpm | cpio -idmv  
  11. #操做完成后 将会产生一个 usr 目录 ab文件就在这个usr 目录中  
  12. #简单使用说明  
  13. ./ab -c 100 -n 1000 http://nginx的ip/
  14. #-c 100 即:每次并发100个  
  15. #-n 1000 即: 共发送1000个请求,也就是说一共是10次并发,测试结果能够查看Nginx的日志以及被访问的进程日志(好比tomcat能够查tomcat日志)。
相关文章
相关标签/搜索