您的位置:首页 > 理论基础 > 计算机网络

Tengine ngx_http_sysguard_module 过载保护模块使用

2014-03-24 15:06 459 查看

简介

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

运行环境:Centos 6.4 x86_64
软件版本:tengine-1.5.2
软件下载地址:wget http://tengine.taobao.org/download/tengine-1.5.2.tar.gz 1.编译安装tengine

[root@localhost ~]# yum -y install libxslt-devel gd-devel lua-devel geoip-devel
[root@localhost ~]# groupadd -r nginx
[root@localhost ~]# useradd -r -g nginx nginx
[root@localhost ~]# tar zxvf tengine-1.5.2.tar.gz
[root@localhost ~]# cd tengine-1.5.2
[root@localhost tengine-1.5.2]# ./configure \
> --prefix=/usr/local/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/var/run/nginx/nginx.pid  \
> --lock-path=/var/lock/nginx.lock \
> --user=nginx \
> --group=nginx \
> --enable-mods-shared=all
[root@localhost tengine-1.5.2]# make && make install
[root@localhost ~]# ls /usr/local/nginx/modules/ | grep sys
ngx_http_sysguard_module.so
[root@localhost ~]# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
[root@localhost ~]# ps aux | grep nginx
root     25508  0.0  0.0  83684  1252 ?        Ss   13:58   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
nginx    25509  0.0  0.0  84088  1780 ?        S    13:58   0:00 nginx: worker process
root     25547  0.0  0.0 103248   824 pts/0    S+   14:02   0:00 grep nginx


2.编译/etc/nginx/nginx.conf 动态加载ngx_http_sysguard_module 模块
[root@localhost ~]# vi /etc/nginx/nginx.conf
http {
dso {
load ngx_http_sysguard_module.so;
}
}


3.在server段中配置过载保护:
server {
listen       80;
server_name  192.168.30.117;
sysguard on;
sysguard_load load=0.1 action=/loadlimit;
sysguard_mem swapratio=20% action=/swaplimit;
sysguard_mem free=100M action=/freelimit;
#charset koi8-r;
#access_log  logs/host.access.log  main;
root   /var/www/html;
index  index.html index.htm;
location / {
}
location /loadlimit {
return 403;
}
4.重启tengine
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload


5.验证过载保护功能

在测试机发起压力测试:
[root@node1 ~]# ab -c 5000 -n 20000 http://192.168.30.117/index2.html 观察服务器负载:
[root@localhost ~]# htop




继续访问页面发现403:




6.tengine过载保护功能生效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tengine sysguard