基于nginx+fpm的裸服务器配置优化

高并发越来越多,web服务器压力越来越大,但是,在机器性能为榨干的情况下,有些系统的配置优化后,会提高系统的吞吐能力。这里举例一个基本上裸的服务器,或者说当服务器出现高并发时报错信息了,可以参考如下优化;

一、nginx核心参数

#启动的work数量,这个最合适的是跟cpu核数相同
worker_processes  2;

#配置Nginx worker进程最大打开文件数
worker_rlimit_nofile 65535;    #添加的
 
user www www;
events {
    #单个进程允许的客户端最大连接数
    worker_connections  20480;
}

 

二、php-fpm核心参数


listen.backlog = 20000

rlimit_files = 1024
#设置文件打开描述符的rlimit限制. 默认值: 系统定义值默认可打开句柄是1024,可使用 ulimit -n查看,ulimit -n 2048修改。
 
rlimit_core = 0
#设置核心rlimit最大限制值. 可用值: 'unlimited' 、0或者正整数. 默认值: 系统定义值.

 

三、网络相关

~                                                                                                                                                                                                                                                                                                                             
wappiness = 0
net.ipv4.neigh.default.gc_stale_time=120
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.arp_announce = 2
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#

vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time=120
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_announce=2
#该参数设置系统的TIME_WAIT的数量,如果超过默认值则会被立即清除
net.ipv4.tcp_syncookies = 1

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv4.conf.lo.arp_announce=2

#系统所有进程一共可以打开的文件数量
fs.file-max = 681574400
#防火墙跟踪表的大小。注意:如果防火墙没开则会提示error: "net.netfilter.nf_conntrack_max" is an unknown key,忽略即可
#net.netfilter.nf_conntrack_max = 2621440
#dany增加,解决 nf_conntrack: table full, dropping packet,具体表现为网络流量非常打,150M
net.nf_conntrack_max = 2097152
net.netfilter.nf_conntrack_tcp_timeout_established = 300
net.netfilter.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.ipv4.conf.default.forwarding = 1

#定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数
net.core.somaxconn = 65535
kernel.sysrq=1

#net.netfilter.ip_conntrack_tcp_timeout_established=180
#net.netfilter.ip_conntrack_tcp_timeout_time_wait=120
#net.netfilter.ip_conntrack_tcp_timeout_close_wait=60
#net.netfilter.ip_conntrack_tcp_timeout_fin_wait=120

net.ipv4.tcp_keepalive_time=30
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 40000
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_max_syn_backlog = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
#dany加2020/1/26
net.ipv4.ip_local_port_range = 10000     65000
 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值