从linux系统 提高并发量

高并发是一个很热门的词语,面试经常会被问题。但是很多高并发的实现都是从应用层解决的。在linux服务器系统上也需要进行优化,从而支持高并发。

首先使用ulimit -a查看系统的限制

我的腾讯云学生机1c 1g的机器

从linux系统 提高并发量_第1张图片

这里重点关注open filesmax user processes

第一个会影响tcp连接数,第二个会影响系统进程数量。

第一个系统会分为硬限制和软限制。硬限制是硬件层的限制,根据你的服务器配置来进行限制

可以通过命令cat /proc/sys/fs/file-max来查看。我的1c 1g的机器大概tcp硬限制是(硬限制也可以修改)

具体修改是/etc/security/limits.conf

* soft nproc 65535//进程数量
* hard nproc 65535
* soft nofile 65535//文件数量
* hard nofile 65535

接下来还有一些网络的配置

vim /etc/sysctl.conf

net.ipv4.ip_local_port_range = 1024 65536
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.core.somaxconn = 262144
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

你可能感兴趣的:(linux)