Nginx反向代理为什么可以提高网站性能?

您所在的位置:网站首页 nginx使用代理访问外网 Nginx反向代理为什么可以提高网站性能?

Nginx反向代理为什么可以提高网站性能?

2022-05-16 09:16| 来源: 网络整理| 查看: 265

大哥,这个问题问错了吧???

反向代理只是一种中介模式,区别于nginx之前的以内网链接外网这样的正向代理,可以让内部局域网通过http访问外网资源的中介模式!

反向代理是通过nginx作为中介,为别的外网访问内网提供一道隔离层和中间层,这样的模式称为反向代理!

OK,既然只是做个中间层,如果在业务应用只有一台的情况下,肯定不会提高网站性能,相反因为多走一层,所以性能下降,访问时间变长!

但如果是业务应用服务器一台明显满足不了业务量访问的暴增,通过nginx连接多台业务服务器,实现一个负载均衡的业务集群,再通过一定的均衡方式则能避免单台应用服务器的过载,换句话说,提高整个业务系统的对外性能!

那么题目可以改成,为什么负载均衡能提升网站性能?我们举例来看:

比如单台应用服务器的内存为8g,每次请求的请求数据为1m,因为每次需要调动系统资源,系统线程等,分配给jvm可能只有6g,jvm本身也有调度线程,系统进程等,业务的处理内存只有5g,也就是说单机的最大处理能力为5000m/1,也就是5000个请求,一旦请求量变大或者请求数增多,可能导致业务服务器的崩溃,整个业务系统处于零处理状态!

这个时候如果使用nginx作为负载均衡连接4-6台服务器,可以显著的提高并发能力为20000-30000,性能极具提升,同时稳定性增强!

那么nginx工作原理又是什么呢?

nginx通过一个master进程调度多个worker,根据配置的不同均衡策略,异步非阻塞得将请求放到不同的业务系统进行处理!

负载均衡方式大概会有几种:

1,轮询模式:每个业务服务器收到的请求数一样,除非宕机了!

2,权重模式:按照配置权重,分配不同的请求数!

3,最小响应时间:根据不同的应用服务器返回响应的时间进行分发,比如三台业务服务器中,某台内存更高,cpu各种更多,处理能力更强!

4,随机分发:随机的将请求分发到不同的服务器上!

5,按照hash值:根据不同的hash值,进行分发!

如何实现最简单的nginx均衡?

1,使用upsream server配置nginx和应用服务器之间的联系!

2,使用server模块对外采用同样的域名!

这样就可以得到简单的负载均衡集群,当让还有更多诸如连接时间,缓存,进程数调节等的配置可以大为提高nginx性能!在此不做详细讨论!

除了负载均衡,nginx还提供了静态页面缓存等功能提升服务器的性能!nginx作为稳定,安全的反向代理服务器,拥有着最高50000的并发能力,是大多数公司实现均衡的不二之选!

nginx还有很多的妙用,在此暂且不表,如果有nginx配置,均衡策略选择方面的困扰的朋友,可私信我,知无不答哦!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3