一、Web中间件性能分析与调优实战
在国内互联网公司中,Web中间件用得最多的就是Apache和Nginx这两款了。很多大型电商网站,比如淘宝、京东、苏宁易购等,都在使用Nginx或者Apache作为Web中间件。
而且很多编程语言在进行Web开发时,会将Apache或者Nginx作为其绑定的固定组件,比如用PHP语言进行Web开发时,就经常和Apache联系在一起,使得Apache成为了PHP在Web开发时的一个标配。而Nginx不管是在作为Web静态资源访问管理,或者作为动态的请求代理,性能都是非常高效的。当然Nginx或者Apache有时候也会存在性能瓶颈,需要进行性能分析和调优以支持更高的并发处理能力。
1、Nginx 性能分析与调优实战
1. Nginx负载均衡策略的介绍与调优
在一般情况下,Web中间件最大的作用就是负责对请求进行分发,也就是我们常说的起到负载均衡的作用。当然负载均衡只是Nginx的作用之一,Nginx常见的负载均衡策略一般包括轮询、指定权重
(weight)、ip_hash、least_conn、fair、url_hash等六种。其中默认执行的策略为轮询,fair和url_hash属于第三方策略,这两种策略不是Nginx自带支持的策略,需要安装第三方的插件来辅助支持。
在不同的场景下,每一种策略的选择对系统的整体性能影响都非常大,一般建议根据实际场景和服务器配置来选择对应的负载均衡策略。
- 轮询策略:Nginx的负载均衡通过配置upstream来实现请求转发。如果在upstream中没有指定其他任何的策略时,Nginx会自动执行轮询转发策略,upstream中配置每台服务器的权重都一样,会按照顺序依次转发。如下所示就是一个简单的u