您的位置:首页 > 运维架构 > Nginx

nginx_1 内核参数的优化

2015-02-07 23:53 267 查看
nginx要支持高并发。还需要对linux内核参数做一定的优化

vim /etc/sysctl.conf

fs.file.max = 999999

表示进程,比如一个worker进程,可以打开的最大句柄数。这个参数直接限制对大的并发连接数。

net.ipv4.tcp_tw_reuse = 1

表示允许将time-wait的状态的socket重新用于新的tcp连接。

对于服务器来说很有意义。因为服务器总会有大量的time-wait状态的连接。

net.ipv4.tcp_keepalive_time = 600

这个参数表示当keepalive启用时。TCP发送keepalive消息的频度。

默认是2小时。若将其设置小点。可以更快的清理无效的内存。

net.ipv4.tcp_fin_timeout =30

这个参数表示当服务器主动关闭连接的时候。socket保持在FIN-WAIT-2状态的最大时间

net.ipv4.tcp_max_tw_buckets =5000

这个参数表示操作系统允许TIME_WAIT套接字数量的最大值,

如果超过这个数字,TIME_WAIT套接字将立刻清楚并打印警告信息。该参数默认为

18000,过多的TIME_WAIT的套接子会使web服务器变慢

net.ipv4.ip_local_port_range =1024 61000

这个参数定义了在UDP和TCP连接中本地端口的取值范围

net.ipv4.tcp_rmem =4096 32768 262142

这个参数定义了TCP接受缓存(用于tcp接收滑动窗口)

net.ipv4.tcp_wmem =4096 32768 262142

这个参数定义了TCP发送缓存(用于tcp发送滑动窗口)的最小值 默认值 最大值

net.core.netdev_max_backlog =8096

当网卡接受数据包的速度大于内核处理的速度时,会有一个队列保存这些

数据包。这个参数表示该队列的最大值。

net.core.rmem_default =262144

这个参数表示内核套接子接收缓存区默认的大小

net.core.wmem_default =262144

这个参数表示内核套接字发送缓存区默认的大小

net.core.rmem_max=2097152

内核套接字接受缓存区的最大大小

net.core.wmem_max=2097152

内核套接字发送缓存区的最大大小

net.ipv4.tcp_syncookies=1

该参数与性能无关,用于解决TCP的SYN攻击。

net.ipv4.tcp_max_syn.backlog=1024

这个参数表示TCP三次握手建立阶段接受SYN请求队列的最大长度。

默认为1024,将其设置得大一下。可以使出现nginx繁忙来不及accept新连接的时候。

linux不至于丢失客户连接请求。

如果是默认启动方式

执行nginx

/usr/local/nginx/sbin/nginx

指定配置文件

/usr/local/nginx/sbin/nginx -c /tmp/nginx.conf

指定安装目录的启动方式

/usr/local/nginx/sbin/nginx -p /usr/local/nginx

/usr/local/nginx/sbin/nginx -t (-q 可以不把error级别以下的信息输出的屏幕)

测试配置文件是否有错

-v -V

停止服务

-s stop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx