nginx的limit_req_zone使用和一些nginx雜項

統(tǒng)計所有進程占用的物理內(nèi)存

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

基于nginx的請求頻率限制睁壁。

一背苦、配置文件

    #限速互捌,每秒10個,內(nèi)存區(qū)域10m,大概16萬個session
    limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
    server
    {
        listen 80;
        server_name xxx.xxx.xxx;
        location / {
            #緩存區(qū)隊列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; #長時操作的設(shè)置
         }
    }
二、參數(shù)詳解
2.1 limit_req_zone的參數(shù)

    zone:one:10m 表示一個內(nèi)存區(qū)域大小為10m,并且設(shè)定了名稱為one.

    rate=5r/s 表示請求的速率是1秒5個請求硼讽,當單位設(shè)置成60r/m時巢价,并不能達到限速1分鐘60次的效果寄猩,它等同于1r/s癌别。   

    $binary_remote_addr 表示遠程的ip地址喊括,當此nginx前方還存在代理時的畴,需進行處理

    2.2 limit_req的參數(shù)

    zone=one  表示這個參數(shù)對應(yīng)的全局設(shè)置就是one的那個內(nèi)存區(qū)域

    burst=100 表示請求隊列的長度桐汤。

    nodelay 表示不延時辅鲸,比如rate=5r/s菩彬,burst=10 那么來了15個請求赁还,能一次搞定并齐,否則漏麦,就是此秒只能搞定5個請求。一般都是不延期的設(shè)置况褪。
三撕贞、burst詳解及試驗
可以想象以下一個場景,某后臺tomcat的最大單頁請求是30個左右测垛,那么難道我需要設(shè)定成30r/s的話捏膨,那么這個設(shè)置就意義不大了,而當然可以通過區(qū)分url進行分開設(shè)置食侮,但是假如我不分開的話号涯,通過burst也可以完成rate設(shè)置成5r/s,一個頁面含有幾十個請求的要求。

初步假設(shè)是這樣的锯七,我第一秒有30個請求链快,后面每秒都是1-2個請求,rate=5r/s眉尸,注意這個速率是針對實時的請求或和burst中的5個請求(當一秒鐘沒有實時請求時域蜗,就從burst隊列中移除5個)。因此效五,我把burst設(shè)置成200個(可以頂用戶連續(xù)強制刷新大約10次)地消。第一次請求會刷靜態(tài)請求,后面就不會請求靜態(tài)的了畏妖,因此第一次一共會請求30個,其中實時的是5個疼阔,25個占用了burst的隊列戒劫,雖然nodelay把這25個也處理了半夷,但是隊列中占用的25個位置需要5秒來清除,假如第二秒刷了2個請求迅细,那么就會處理2個實時巫橄,并且隊列清空3個位置,當隊列滿的時候茵典,就會出現(xiàn)503的請求情況湘换。

驗證效果,基本按上面的方式统阿,連續(xù)每秒30個請求彩倚,即f5強制刷新,那么大約會再多少次后出現(xiàn)503的情況呢扶平,答案大約是8次(200/25).
四帆离、錯誤頁面的設(shè)置

在上面的server配置下,增加一個error_page ,配置一個loaction,注意這個用的是=/,它的優(yōu)先級高于 /结澄。因此不會去代理服務(wù)器找哥谷,直接就會再nginx下面的html找這個文件。

error_page 503 /error_503.html;
         location = /error_503.html{
            root   html;
         }
五麻献、請求連接數(shù)的配置,配置的位置和請求數(shù)量一樣们妥。
 limit_conn_zone $binary_remote_addr zone=one:10m;

 limit_conn  one  2;    #每個ip只能2個連接。
六勉吻、補充路徑詳解
 格式 :    location  ????  {
                其他.........
            }    

路徑優(yōu)先級 1. = /error.html 2.^~ /images/ 3. ~* .(gif|jpg|jpeg|png|bmp|swf)$ 4. /static/ 5. /
解釋王悍??餐曼?:1表示完整匹配压储,用=和完全的路徑匹配,比如 =/error.html 就匹配 error.html =/ 匹配根路徑
2表示開頭等于源譬,優(yōu)先級第二,越長就越能匹配集惋,比如^~ /abc/cd ^~/abc 第一個會優(yōu)先匹配/abc/cd/xxx
3表示不區(qū)分大小的正則,并且正則中含義是.jpg等結(jié)尾的踩娘,優(yōu)先級第三刮刑,同樣正則越長越高。
4表示開頭等于/static/的养渴,但是優(yōu)先級比第二種低雷绢,是一種其他配置找不到再找它,越長就越能匹配理卑。
5因為4說了是越長越能匹配翘紊,當能匹配/static/就不會匹配/,而/是所有其他的一個默認匹配。

特別補充比如:location ~* .(gif|jpg|jpeg|png|bmp|swf)$ { //注意正則與其他符號要空格藐唠,其他一些配置也是如是帆疟。

本文轉(zhuǎn)載至 https://blog.csdn.net/shuixiou1/article/details/80165525

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹉究,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子踪宠,更是在濱河造成了極大的恐慌自赔,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柳琢,死亡現(xiàn)場離奇詭異绍妨,居然都是意外死亡,警方通過查閱死者的電腦和手機柬脸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門他去,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肖粮,你說我怎么就攤上這事孤页。” “怎么了涩馆?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵行施,是天一觀的道長。 經(jīng)常有香客問我魂那,道長蛾号,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任涯雅,我火速辦了婚禮鲜结,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘活逆。我一直安慰自己精刷,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布蔗候。 她就那樣靜靜地躺著怒允,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锈遥。 梳的紋絲不亂的頭發(fā)上纫事,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機與錄音所灸,去河邊找鬼丽惶。 笑死,一個胖子當著我的面吹牛爬立,可吹牛的內(nèi)容都是我干的钾唬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼知纷!你這毒婦竟也來了壤圃?” 一聲冷哼從身側(cè)響起陵霉,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤琅轧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后踊挠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乍桂,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年效床,在試婚紗的時候發(fā)現(xiàn)自己被綠了睹酌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡剩檀,死狀恐怖憋沿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沪猴,我是刑警寧澤辐啄,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站运嗜,受9級特大地震影響壶辜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜担租,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一砸民、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奋救,春花似錦岭参、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至利耍,卻和暖如春蚌本,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隘梨。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工程癌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人轴猎。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓嵌莉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捻脖。 傳聞我的和親對象是個殘疾皇子锐峭,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容