Nginx之大并发服务器架构实战技法
对于高性能网站 ,请求量大,如何支撑?大体分为两个部分。一部分是尽量减少对服务器的请求,另一方面是提高服务器的相应能力。减少服务器的请求能力,我这里列举一下几个方面,大家可以参考。
1:对于开发人员,尽量做到能够合并css, 把多张背景图片合并, 减少mysql查询等。
2: 对于运维人员, nginx的expires 设置,利用浏览器缓存等,减少查询。
3: 利用第三方的cdn来响应请求,以此来减少自身服务器的压力。
4: 最终剩下的,不可避免的请求----服务器集群+负载均衡来支撑。
所以,来到第4步后,就不要再考虑减少请求这个方向了.而是思考如何更好的响应高并发请求。那么这也是我们今天着重要讲的。
对于Nginx来说,客户来请求Nginx 来响应,怎么响应,无非是读取mysql 或者是直接读取磁盘上的index.html 等等。两个方向,第一是要建socket 连接,第二是要打开文件。这就牵扯到两个硬性的限制。第一,你的socket 连接能不能建那么多。你的内存是不是足够大,因为建立socket 连接都要内存维护着他们的信息的。你打开文件,操作系统允许不允许你一次打开那么多的文件。因为在默认情况下一个进程同时只能打开1024个文件。所以你想建立高并发,高并发无非就是建立的socket 连接多,打开的文件多。只有你这两个方面能承的住。当然对你的网卡也是有要求的,起码你的网卡能够同时跑通那么多的流量。
知道了这两个大的方向之后,我们排查问题就需要从这两点入手。然后通过观察系统的dmesg 和 nginx 的error.log 来逐步解决问题。其实在真实的生产环境里面,做东西都是哪里出错了,跟着错误轨迹一点点去摸索的优化的。没有一个固定的路子说照着什么做就能达到多大的并发。
以上是架构一个高并发 Nginx 服务器的大体思路和方案。在下一篇文章中,我将会拿一个实例,运用今天所讲到的理论,从实操的角度来说明一下如何一步一步的把一个大并发的服务器架构起来。
责任编辑:任我行
-
碳中和战略|赵英民副部长致辞全文
2020-10-19碳中和,碳排放,赵英民 -
两部门:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业 -
国家发改委、国家能源局:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业
-
碳中和战略|赵英民副部长致辞全文
2020-10-19碳中和,碳排放,赵英民 -
深度报告 | 基于分类监管与当量协同的碳市场框架设计方案
2020-07-21碳市场,碳排放,碳交易 -
碳市场让重庆能源转型与经济发展并进
2020-07-21碳市场,碳排放,重庆
-
两部门:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业 -
国家发改委、国家能源局:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业 -
2020年二季度福建省统调燃煤电厂节能减排信息披露
2020-07-21火电环保,燃煤电厂,超低排放
-
四川“专线供电”身陷违法困境
2019-12-16专线供电 -
我国能源替代规范法律问题研究(上)
2019-10-31能源替代规范法律 -
区域链结构对于数据中心有什么影响?这个影响是好是坏呢!