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

Linux上几个可以影响到服务器并发处理性能的系统参数

2016-07-21 14:49 603 查看
1. 打开文件数量限制

系统总共可以打开的文件数

因为服务器的资源是有限的,所以Linux对打开的文件数做了限制;包括系统总共可以打开的文件数,单个用户/组别可以打开的文件数,单个进程可以打开的文件数等

对于系统总共可以打开的文件数,应该是系统根据系统硬件资源自动计算出来的,查看几个系统值都很大,一般不需要我们操心了,如果实在要改,请在/etc/sysctl.conf文件下面加上:

# Controls the maximum number of open-files by whole system

fs.file-max = 6550236

然后执行sysctl -p命令

cat /proc/sys/fs/file-max

6550236

此时整个系统所可以打开的文件总数为6550236

单个进程可以打开的文件数

当前单个进程可以打开的文件数可以通过ulimit -n
进行显示/设置

许多系统默认为1024,如果你的应用程序为高并发网络服务就很有可能超过1024个连接(还不包括已经打开的其他文件)

所以你可以使用ulimit -n 10240来临时改变最大文件打开数;

但是记住,这个命令只是临时性的,不但重启后无效,而且对于另外一个会话也是无效的;所以我们一般有两种方式对这个限制进行处理:

1. 将上面命令放到某个启动脚本使其在自己的服务程序前开启

2. 修改/etc/security/limits.conf(一般都在这个位置),在尾部增加下面内容

* soft nofile 10240

* hard nofile 10240

记住这个是需要重启系统的

2. socket等待队列数量限制

somaxconn参数控制的是socket监听队列中的socket数量,在Centos6.5是128,对于要运行大并发服务程序的服务器而言往往是不够的,将他修改成2048或者更多

sysctl配置与显示在/proc/sys目录中的内核参数.用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。

命令格式:

sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p (default /etc/sysctl.conf)

sysctl [-n] [-e] -a

常用参数的意义:

-w 临时改变某个指定参数的值,系统重启将失效,如

sysctl -w net.core.somaxconn=2048

PS: echo 2048 > /proc/sys/net/core/somaxconn跟上面的命令完成了同样的功能

-a 显示所有的系统参数

-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

比如在/etc/sysctl.conf中加入: net.core.somaxconn=2048,再执行sysctl -p
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  服务器 性能 linux