高并发Linux系统参数优化

举报
大中华潇湘夜雨 发表于 2021/11/30 16:22:57 2021/11/30
【摘要】 通过ulimit –a命令来查看系统的一些资源限制情况,如下:[root@centos-blockRbF4F9 ~]# ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file s...

通过ulimit –a命令来查看系统的一些资源限制情况,如下:

[root@centos-blockRbF4F9 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63339
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63339
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

重点关注open files和max user processes。分别表示:单个进程打开的最大文件数;系统可以申请最大的进程数。

一. 修改最大进程数

编辑# vim /etc/security/limits.conf
在文件中添加如下内容:

      * soft nproc 81920
      * hard nproc 81920


注:*表示所有用户,soft、hard表示软限制、硬限制。(软限制<=硬限制)

重新登录后生效.

二. 修改最大打开文件数

编辑# vim /etc/profile
在文件中添加如下内容:

ulimit -HSn 65535

编辑# vim /etc/rc.local
在文件中添加如下内容:

ulimit -HSn 65535

修改完毕后,执行source /etc/profile生效.

三. 网络内核参数方面的优化

/etc/sysctl.conf 是用来控制linux网络的配置文件,对于依赖网络的程序(如web服务器和cache服务器)非常重要,RHEL默认提供的最好调整。推荐配置(把原/etc/sysctl.conf内容清掉,把下面内容复制进去):

fs.file-max = 6553560
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2


修改完毕后,执行/sbin/sysctl -p 生效。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。