NGINX优化篇

NGINX优化

pv与并发转换公式
  • 假设有4台服务器构成集群,nginx-php-memcached-mysql
  • 每天pv500W
pv : 5000000   # 日均请求
rel : 3               # 每个pv带来的总请求
reqtime : 2       # 请求平均时长
host :   1          # 前端服务器
sec  :86400
fact  :3           # 峰值请求3倍
conn : ?            # 并发数
计算公式:
并发连接数 = PV / 统计时间 * 页面衍生连接次数 * 请求响应时长 *  请求峰值系数  /  web服务器数量
conn =  pv /  sec *  rel  *  reqtime * fact  /  host 
PV = 并发连接数 * 统计时间 * web服务器数量/ 页面衍生连接次数 / 请求响应时长 / 请求峰值系数
pv =  conn  * sec * host / rel / reqtime / fact
nginx优化
网络
net.core.somaxconn = 4096 允许等待中的监听
net.ipv4.tcp_tw_recycle = 1  tcp连接快速回收
net.ipv4.tcp_tw_reuse = 1    tcp连接重用   
net.ipv4.tcp_syncookies = 0  不抵御洪水攻击

防火墙(必要时可以关闭)
net.nf_conntrack_max = 655350  
net.netfilter.nf_conntrack_tcp_timeout_established = 120

文件
fs.file-max = 655350   系统最大文件描述符

进程最大文件描述符 /etc/security/limits.conf
soft nofile 50000
hard nofile 50000

服务
work process  打开的进程数量,为CPU核心数即可
worker_rlimit_nofile 30000; 进程打开文件的最大数量
keepalive_timeout  0; 

php-fpm
pm = static  # 子进程的数量是由 pm.max_children 指令来确定的。
pm.max_children = 32
高性能的服务器的架设
对于高性能网站 ,请求量大,如何支撑?
1方面,要减少请求
对于开发人员----合并css, 背景图片, 减少mysql查询等.
2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查询.
3: 利用cdn来响应请求
4: 最终剩下的,不可避免的请求----服务器集群+负载均衡来支撑.
所以,来到第4步后,就不要再考虑减少请求这个方向了.
而是思考如何更好的响应高并发请求.
大的认识-------既然响应是不可避免的,我们要做的是把工作内容”平均”分给每台服务器.
最理想的状态 每台服务器的性能都被充分利用.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值