对于高性能网站 ,请求量大,如何支撑?
对于开发人员----合并css, 背景图片, 减少mysql查询等.
2: 对于运维---- nginx的expires ,利用浏览器缓存等,减少查询.
4: 最终剩下的,不可避免的请求----服务器集群+负载均衡来支撑.
所以,来到第4步后,就不要再考虑减少请求这个方向了.
而是思考如何更好的响应高并发请求.
大的认识-------既然响应是不可避免的,需要做的是把工作内容”平均”分给每台服务器.
最理想的状态 每台服务器的性能都被充分利用.
高并发思路:
socket层面分析:
->nginx:
1.子进程允许打开的连接(worker_connections)
->系统层面:
1.最大连接数(somaxconn)
2.加快tcp连接的回收(recycle)
3.空的tcp是否允许回收利用(reuse)
4.洪水攻击(不做洪水抵御)
文件层面分析:
->nginx:
1.子进程允许打开的文件(worker_limit_nofiles)
->系统:
1.ulimit -n (设置一个比较大的值)