一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 詳解Nginx服務器中配置Sysguard模塊預防高負載的方案

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

2019-11-10 15:35goldensun Nginx

這篇文章主要介紹了詳解Nginx服務器中配置Sysguard模塊預防高負載的方案,該模塊由阿里巴巴的團隊開發,能夠設置負載閥值,比較強大,需要的朋友可以參考下

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

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

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

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

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

Nginx專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率。它支持內核ePoll模型,能經受高負載的考驗,有報告表明能支持高達 50,000個并發連接數。

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

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

 
?
1
 
2
3
4
5
# 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對應的補丁,只有1.2.9和1.3.9的,索性試試1.3.9的吧,應該差不多.

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

1.3 安裝nginx

 
?
1
 
2
3
4
# ./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
開關模塊
語法:

 
?
1
 
sysguard_load load=number [action=/url]

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

 
?
1
 
sysguard_mem swapratio=ratio% [action=/url]

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

 
?
1
 
sysguard_interval time

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

 
?
1
 
sysguard_log_level info | notice | warn | error

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

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
server {
  listen    80;
  server_name www.ythuaji.com.cn www.ythuaji.com.cn;
  access_log /data/logs/nginx/www.ythuaji.com.cn.access.log main;
 
  index index.html index.php index.html;
  root /data/site/www.ythuaji.com.cn;
 
  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

 
?
1
 
# uptime
 
?
1
 
16:23:37 up 6 days, 8:04, 2 users, load average: 0.00, 0.01, 0.05
 
?
1
 
# curl -I www.ythuaji.com.cn
 
?
1
 
2
3
4
5
6
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,實際上沒關系.
負載超過閥值的情況下,訪問nginx

 
?
1
 
# uptime
 
?
1
 
16:25:59 up 6 days, 8:06, 2 users, load average: 0.05, 0.04, 0.05
 
?
1
 
# curl -I www.ythuaji.com.cn
 
?
1
 
2
3
4
5
6
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超過閥值的功能我就不再測試了。大家回家可以自己動手測試一下.
結束語
在nginx是realserver的情況下,個人也比較推薦使用這種方法,如果服務器負載一旦爬高,一般要比較長的時間才能恢復到正常水平,在采用這個插件的情況下,負載達到閥值,nginx返回503,前段使用故障轉移將請求發往其他服務器,這臺服務器在無訪問的情況下,便能很快的恢復到正常水平,并且能夠立即投入工作。超過閥值的服務器處理請求速度也會大打折扣,使用這個模塊,巧妙的將請求發送到了更快速的服務器上,在一定程度上避免了訪問速度慢的問題. 前面說的是在集群環境下,在單點環境下,用不用大家斟酌一下。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久综合老色鬼网站 | 91香蕉国产视频 | 欧美艳星kagney1ynn | 男女乱淫真视频播放网站 | 福利视频一区二区牛牛 | 男人的私人影院 | 黄动漫车车好快的车车a | 亚洲精品无码不卡在线观看 | 青青精品 | 日本在线一区 | 日韩 欧美 国产 亚洲 中文 | 99视频在线观看免费视频 | 99任你躁精品视频 | 99久视频| 微拍秒拍99福利精品小视频 | 成年美女黄网站色视频大全免费 | 男人天堂a | 久久精品123| 国产成人亚洲综合网站不卡 | 国产免费一区二区三区免费视频 | 无套内谢大学生A片 | 欧美特级特黄a大片免费 | 91大神亚洲影视在线 | 九九精品国产亚洲A片无码 九九99热久久999精品 | 亚洲视频999 | 99视频全部看免费观 | 亚洲第一人黄所 | 欧美性一级交视频 | 国产在线精品亚洲第一区香蕉 | 九二淫黄大片看片 | 天堂69亚洲精品中文字幕 | 草草视频在线观看 | 亚洲欧美日韩天堂在线观看 | 国产视频一区二 | 天堂网在线.www天堂在线视频 | 亚洲第一人黄所 | 小舞丝袜调教喷水沦为肉奴 | 99视频在线免费观看 | 久久re亚洲在线视频 | 亚洲第成色999久久网站 | 娇妻与老头绿文小说系列 |