最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Nginx服務(wù)器中配置Sysguard模塊預(yù)防高負載的方案

 更新時間:2016年01月27日 16:48:48   投稿:goldensun  
這篇文章主要介紹了詳解Nginx服務(wù)器中配置Sysguard模塊預(yù)防高負載的方案,該模塊由阿里巴巴的團隊開發(fā),能夠設(shè)置負載閥值,比較強大,需要的朋友可以參考下

nginx做為HTTP服務(wù)器,有以下幾項基本特性:

處理靜態(tài)文件,索引文件以及自動索引;打開文件描述符緩沖.

無緩存的反向代理加速,簡單的負載均衡和容錯.

FastCGI,簡單的負載均衡和容錯.

模塊化的結(jié)構(gòu)。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服務(wù)器處理單頁中存在的多個SSI,則這項處理可以并行運行,而不需要相互等待。

Nginx專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實現(xiàn)上非常注重效率。它支持內(nèi)核ePoll模型,能經(jīng)受高負載的考驗,有報告表明能支持高達 50,000個并發(fā)連接數(shù)。

Nginx具有很高的穩(wěn)定性。其它HTTP服務(wù)器,當遇到訪問的峰值,或者有人惡意發(fā)起慢速連接時,也很可能會導(dǎo)致服務(wù)器物理內(nèi)存耗盡頻繁交換,失去響應(yīng),只能重啟服務(wù)器。例如當前apache一旦上到200個以上進程,web響應(yīng)速度就明顯非常緩慢了。而Nginx采取了分階段資源分配技術(shù),使得它的CPU與內(nèi)存占用率非常低。nginx官方表示保持10,000個沒有活動的連接,它只占2.5M內(nèi)存,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩(wěn)定性而言,nginx比lighthttpd更勝一籌。

然而,如果nginx被攻擊或者訪問量突然變大,nginx同樣會因為負載變高或者內(nèi)存不夠用導(dǎo)致服務(wù)器宕機,最終導(dǎo)致站點無法訪問。今天要談到的解決方法來自淘寶開發(fā)的模塊nginx-http-sysguard,主要用于當負載和內(nèi)存達到一定的閥值之時,會執(zhí)行相應(yīng)的動作,比如直接返回503,504或者其他的.一直等到內(nèi)存或者負載回到閥值的范圍內(nèi),站點恢復(fù)可用。簡單的說,這幾個模塊是讓nginx有個緩沖時間,緩緩.
1. 安裝nginx sysguard模塊
1.1 下載文件

# wget http://nginx.org/download/nginx-1.4.2.tar.gz
# wget https://github.com/alibaba/nginx-http-sysguard/archive/master.zip \
-O nginx-http-sysguard-master.zip
# unzip nginx-http-sysguard-master.zip
# tar -xzvf nginx-1.4.2.tar.gz

1.2 打sysgrard補丁
這邊沒找到nginx-1.4.2對應(yīng)的補丁,只有1.2.9和1.3.9的,索性試試1.3.9的吧,應(yīng)該差不多.

# cd nginx-1.4.2
# patch -p1 < ../nginx-http-sysguard-master/nginx_sysguard_1.3.9.patch

1.3 安裝nginx

# ./configure --prefix=/usr/local/nginx-1.4.2 \
--with-http_stub_status_module --add-module=../nginx-http-sysguard
# make
# make install

2. sysguard指令
語法: sysguard [on | off]
默認值: sysguard off
配置段: http, server, location
開關(guān)模塊
語法:

sysguard_load load=number [action=/url]

默認值: none
配置段: http, server, location
指定負載閥值,當系統(tǒng)的負載超過這個值,所有的請求都會被重定向到action定義的uri請求中.如果沒有定義URL action沒有定義,那么服務(wù)器直接返回503
語法:

sysguard_mem swapratio=ratio% [action=/url]

默認值: none
配置段: http, server, location
定義交換分區(qū)使用的閥值,如果交換分區(qū)使用超過這個閥值,那么后續(xù)的請求全部被重定向到action定義的uri請求中.如果沒有定義URL action沒有定義,那么服務(wù)器直接返回503
語法:

sysguard_interval time

默認值: sysguard_interval 1s
配置段: http, server, location
定義系統(tǒng)信息更新的頻率,默認1秒.
語法:

sysguard_log_level info | notice | warn | error

默認值: sysguard_log_level error
配置段: http, server, location
定義sysguard的日志級別
3. sysguard使用實例
3.1 nginx配置

server {
  listen    80;
  server_name m.fzitv.net www.heytool.com;
  access_log /data/logs/nginx/m.fzitv.net.access.log main;
 
  index index.html index.php index.html;
  root /data/site/m.fzitv.net;
 
  sysguard on;
  # 為了方便測試,load閥值為0.01,平時大家一般都在5或10+
  sysguard_load load=0.01 action=/loadlimit; 
  sysguard_mem swapratio=20% action=/swaplimit;
 
  location / {
 
  }
 
  location /loadlimit {
    return 503;
  }
 
  location /swaplimit {
    return 503;
  }
}

3.2 測試
負載OK的情況下,訪問nginx

# uptime 
 16:23:37 up 6 days, 8:04, 2 users, load average: 0.00, 0.01, 0.05
# curl -I m.fzitv.net
HTTP/1.1 403 Forbidden
Server: nginx
Date: Thu, 03 Oct 2013 16:27:13 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive

因為站點下沒有文件,所以返回了403,實際上沒關(guān)系.
負載超過閥值的情況下,訪問nginx

# uptime 
 16:25:59 up 6 days, 8:06, 2 users, load average: 0.05, 0.04, 0.05
# curl -I m.fzitv.net
HTTP/1.1 503 Service Temporarily Unavailable
Server: nginx
Date: Thu, 03 Oct 2013 16:26:19 GMT
Content-Type: text/html
Content-Length: 206
Connection: keep-alive

swap超過閥值的功能我就不再測試了。大家回家可以自己動手測試一下.
結(jié)束語
在nginx是realserver的情況下,個人也比較推薦使用這種方法,如果服務(wù)器負載一旦爬高,一般要比較長的時間才能恢復(fù)到正常水平,在采用這個插件的情況下,負載達到閥值,nginx返回503,前段使用故障轉(zhuǎn)移將請求發(fā)往其他服務(wù)器,這臺服務(wù)器在無訪問的情況下,便能很快的恢復(fù)到正常水平,并且能夠立即投入工作。超過閥值的服務(wù)器處理請求速度也會大打折扣,使用這個模塊,巧妙的將請求發(fā)送到了更快速的服務(wù)器上,在一定程度上避免了訪問速度慢的問題. 前面說的是在集群環(huán)境下,在單點環(huán)境下,用不用大家斟酌一下。

相關(guān)文章

  • 一句簡單命令重啟nginx

    一句簡單命令重啟nginx

    最近我的多個VPS經(jīng)常出現(xiàn)502錯誤,經(jīng)常需要重啟nginx,但網(wǎng)上的很多教程都需要繁瑣的啟動腳本,遠不如apache的重啟命令那么簡單。
    2010-03-03
  • Nginx配置的rewrite編寫時last與break的區(qū)別分析

    Nginx配置的rewrite編寫時last與break的區(qū)別分析

    這篇文章主要介紹了Nginx配置的rewrite編寫時last與break的區(qū)別分析,簡單來說使用last會對server標簽重新發(fā)起請求,而break就直接使用當前的location中的數(shù)據(jù)源來訪問,需要的朋友可以參考下
    2016-01-01
  • Nginx負載均衡之upstream模塊簡介與使用詳解

    Nginx負載均衡之upstream模塊簡介與使用詳解

    nginx有一個最大的功能就是可以實現(xiàn)服務(wù)器的負載均衡,下面這篇文章主要給大家介紹了關(guān)于Nginx負載均衡之upstream模塊簡介與使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • nginx實現(xiàn)負載均衡和動靜分離

    nginx實現(xiàn)負載均衡和動靜分離

    這篇文章主要為大家詳細介紹了nginx實現(xiàn)負載均衡和動靜分離,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 如何實現(xiàn)Nginx同一端口同時支持http與https協(xié)議

    如何實現(xiàn)Nginx同一端口同時支持http與https協(xié)議

    最近有一個需求,需要讓一個端口的http服務(wù)支持https訪問,本文就來介紹一下如何實現(xiàn)Nginx同一端口同時支持http與https協(xié)議,感興趣的可以了解一下
    2023-11-11
  • Nginx設(shè)置Referer來防止盜圖的實現(xiàn)方法

    Nginx設(shè)置Referer來防止盜圖的實現(xiàn)方法

    這篇文章主要介紹了Nginx設(shè)置Referer來防止盜圖的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • 常見的Nginx配置誤區(qū)

    常見的Nginx配置誤區(qū)

    對很多人而言,配置Nginx+PHP無外乎就是搜索一篇教程,然后拷貝粘貼。聽上去似乎也沒什么問題,可惜實際上網(wǎng)絡(luò)上很多資料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷貝粘貼,早晚有一天會為此付出代價
    2014-03-03
  • nginx反向代理文件下載失敗問題及解決

    nginx反向代理文件下載失敗問題及解決

    這篇文章主要介紹了nginx反向代理文件下載失敗問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • nginx https 443端口配置的方法

    nginx https 443端口配置的方法

    本文主要介紹了nginx https 443端口配置的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 前端必備的一些nginx知識點匯總

    前端必備的一些nginx知識點匯總

    Nginx是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù),下面這篇文章主要給大家匯總介紹了關(guān)于前端必備的一些nginx知識點,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03

最新評論

勐海县| 涡阳县| 邓州市| 从江县| 清水县| 合阳县| 河津市| 卢湾区| 大同市| 张家港市| 奎屯市| 湟源县| 黑山县| 故城县| 桐乡市| 孝感市| 丰顺县| 简阳市| 绥宁县| 鱼台县| 应城市| 海城市| 宁河县| 屏边| 晴隆县| 宜城市| 塔河县| 巴马| 台江县| 桐庐县| 阿勒泰市| 游戏| 石阡县| 繁峙县| 延川县| 长丰县| 灌阳县| 沁水县| 内江市| 八宿县| 额济纳旗|