记录一下lnmp优化的配置
linux内核的优化
linux默认采用的通用配置,如果我们的服务器作为图片或者高并发web服务器显然不太合适,需要自己修改一下参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 需要修改/etc/sysctl.conf来更改内核参数 fs.file-max = 999999 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.ip_local_port_range = 1024 61000 net.ipv4.tcp_rmem = 4096 32768 262142 net.ipv4.tcp_wmem = 4096 32768 262142 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 net.ipv4.tcp_max_syn.backlog=1024
ulimit -a //查看 其中 open files (-n) 1024 表示每个用户最大允许打开的文件数量是1024 ulimit -n 2048 //临时设置打开文件数 vim /etc/security/limits.conf * fdipzone soft nofile 8192 // *代表任意用户 * fdipzone hard nofile 8192
|
优化nginx连接
1 2 3 4
| worker_connections 51200; //查看限制,子进程允许打开的连接 worker_rlimit_nofile 51200; //一个工作进程允许打开的文件数
keepalive_timeout 60 //tcp连接保留的时间60s 大并发下修改为0s
|
系统优化
1 2 3 4 5 6 7 8 9 10 11
| 最大连接数 more /proc/sys/net/core/somaxconn //查看系统限制连接数 echo 50000 > /proc/sys/net/core/somaxconn //修改为50000
是否允许加快tcp连接的回收 cat /proc/sys/net/ipv4/tcp_tw_recycle //0 不进行快速回收 echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse 是否有洪水抵御 more /proc/sys/net/ipv4/tcp_syncookies //1有 echo 0 > /proc/sys/net/ipv4/tcp_syncookies
|
文件优化
php优化
1 2 3 4 5 6
| pm = dynamic //fpm自动关闭进程,static不会自动关闭进程 pm.max_children = 10 //打开的进程数量 36个static大概是1G的内存
/usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm9002.conf //启动fpm以不同的端口 service iptables stop
|
memcached
1 2 3 4 5
| pkill -9 memcached 最大2000个连接,最多512MB内存占用 /usr/localhost/memcached/bin/memcached -u nobody -c 2000 -p 11211 -m 512 -d /usr/localhost/memcached/bin/memcached -u nobody -c 2000 -p 11212 -m 512 -d /usr/localhost/memcached/bin/memcached -u nobody -c 2000 -p 11213 -m 512 -d
|