nginx配置和测试

Posted Miss_Elsa-软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置和测试相关的知识,希望对你有一定的参考价值。

测试nginx处理能力和IO读写能力,使用工具webbench、iozone。

1、nginx测试

使用webbench工具,增加并发量,时间分别取30s,60s

1、webbench -c 200 -t 60 http://localhost/index.html

200并发60s执行结束,从200,500,800,1000,依次向上加,直至出现Failed请求

Speed(pages/min):指的输出页数/分钟。

Speed(bytes/sec):是指比特/秒,它表示网络传输速度的大小,每秒钟传输数据量。

Request(susceed):表示成功或完成

Request(failed)     :表示失败或未能完成。

2、IO测试

实例:#./iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls

注:进行全面测试,最小测试文件为512M,直到测试到4g,测试read,write,测试的地方在/mnt下,生成xls文件。

write:测试向一个新文件写入的性能。

re-write:测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。re-write的性能通常比write的性能高。

read:测试读一个已存在的文件的性能。

re-Read:测试读一个最近读过的文件的性能。re-Read性能会高些,因为操作系统通常会缓存最近读过的文件数据。这个缓存可以被用于读以提高性能。

左侧一列是测试文件大小(K),最上边一行是块大小(K),中间数据是传输速度。例如下表中第二行的“1247515”,即测试文件大小为524288K,以块大小为64K来进行传输,传输速度为1247515kBytes/sec 。表格中数据为0的部分是因为选择-a 参数时,系统默认将自动停止使用低于64K的块大小测试。

 

3、Nginx配置仅做参考

Nginx标准参数 

/etc/nginx/nginx.conf

worker_processes 10;

events {
    worker_connections 102400;
}

client_max_body_size    100m;
client_body_buffer_size    256k;
proxy_connect_timeout    120;
proxy_send_timeout    120;
proxy_read_timeout    120;

 

proxy_set_header X-Real-IP    $remote_addr;
proxy_set_header REMOTE-HOST    $remote_addr;
proxy_set_header X-Forwarded-For    $remote_addr; 

 

如果是内网再中转服务器的话-Forwarded-For请使用
proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

Nginx服务器需要配置的Linux操作系统参数

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_fin_timeout = 10 修改系統默认的 TIMEOUT 时间

配置步骤:

1 >sudo vi /etc/sysctl.conf

添加下面四项(配置文件中几乎都包含了第一项,故只要加后面三项即可)

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10

 

2 >sudo sysctl -p

刷新配置

3 >sudo sysctl -a |grep reuse

检查配置是否生效

 

**********************************************************************************************

 

 

 














以上是关于nginx配置和测试的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置和测试

nginx全局配置和性能优化

nginx 配置文件正确性测试

Nginx简单配置及测试

nginx启动和配置

“配置文件 /etc/nginx/nginx.conf 测试失败”:我怎么知道为啥会这样?