nginx的limit_req_zone使用和一些nginx杂项

统计所有进程占用的物理内存

ps -eo pid,rss,pmem,pcpu,vsz,args --sort=rss

基于nginx的请求频率限制。

一、配置文件

    #限速,每秒10个,内存区域10m,大概16万个session
    limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
    server
    {
        listen 80;
        server_name xxx.xxx.xxx;
        location / {
            #缓存区队列burst=100个,不延期,即每秒最多可处理rate+burst个.同时处理rate个。
            limit_req zone=one burst=100 nodelay; 
            proxy_pass  http://service;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_intercept_errors on;
            proxy_connect_timeout 60;
            proxy_send_timeout 60;
            proxy_read_timeout 120; #长时操作的设置
         }
    }
二、参数详解
2.1 limit_req_zone的参数

    zone:one:10m 表示一个内存区域大小为10m,并且设定了名称为one.

    rate=5r/s 表示请求的速率是1秒5个请求,当单位设置成60r/m时,并不能达到限速1分钟60次的效果,它等同于1r/s。   

    $binary_remote_addr 表示远程的ip地址,当此nginx前方还存在代理时,需进行处理

    2.2 limit_req的参数

    zone=one  表示这个参数对应的全局设置就是one的那个内存区域

    burst=100 表示请求队列的长度。

    nodelay 表示不延时,比如rate=5r/s,burst=10 那么来了15个请求,能一次搞定,否则,就是此秒只能搞定5个请求。一般都是不延期的设置。
三、burst详解及试验
可以想象以下一个场景,某后台tomcat的最大单页请求是30个左右,那么难道我需要设定成30r/s的话,那么这个设置就意义不大了,而当然可以通过区分url进行分开设置,但是假如我不分开的话,通过burst也可以完成rate设置成5r/s,一个页面含有几十个请求的要求。

初步假设是这样的,我第一秒有30个请求,后面每秒都是1-2个请求,rate=5r/s,注意这个速率是针对实时的请求或和burst中的5个请求(当一秒钟没有实时请求时,就从burst队列中移除5个)。因此,我把burst设置成200个(可以顶用户连续强制刷新大约10次)。第一次请求会刷静态请求,后面就不会请求静态的了,因此第一次一共会请求30个,其中实时的是5个,25个占用了burst的队列,虽然nodelay把这25个也处理了,但是队列中占用的25个位置需要5秒来清除,假如第二秒刷了2个请求,那么就会处理2个实时,并且队列清空3个位置,当队列满的时候,就会出现503的请求情况。

验证效果,基本按上面的方式,连续每秒30个请求,即f5强制刷新,那么大约会再多少次后出现503的情况呢,答案大约是8次(200/25).
四、错误页面的设置

在上面的server配置下,增加一个error_page ,配置一个loaction,注意这个用的是=/,它的优先级高于 /。因此不会去代理服务器找,直接就会再nginx下面的html找这个文件。

error_page 503 /error_503.html;
         location = /error_503.html{
            root   html;
         }
五、请求连接数的配置,配置的位置和请求数量一样。
 limit_conn_zone $binary_remote_addr zone=one:10m;

 limit_conn  one  2;    #每个ip只能2个连接。
六、补充路径详解
 格式 :    location  ????  {
                其他.........
            }    

路径优先级 1. = /error.html 2.^~ /images/ 3. ~* .(gif|jpg|jpeg|png|bmp|swf)$ 4. /static/ 5. /
解释???:1表示完整匹配,用=和完全的路径匹配,比如 =/error.html 就匹配 error.html =/ 匹配根路径
2表示开头等于,优先级第二,越长就越能匹配,比如^~ /abc/cd ^~/abc 第一个会优先匹配/abc/cd/xxx
3表示不区分大小的正则,并且正则中含义是.jpg等结尾的,优先级第三,同样正则越长越高。
4表示开头等于/static/的,但是优先级比第二种低,是一种其他配置找不到再找它,越长就越能匹配。
5因为4说了是越长越能匹配,当能匹配/static/就不会匹配/,而/是所有其他的一个默认匹配。

特别补充比如:location ~* .(gif|jpg|jpeg|png|bmp|swf)$ { //注意正则与其他符号要空格,其他一些配置也是如是。

本文转载至 https://blog.csdn.net/shuixiou1/article/details/80165525

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容