为什么性能测试很多同学觉得是一个比较难以自学上岸的测试领域,是因为真正做全链路的性能测试是比较难的。所谓的全链路就是在项目的整个链路上任何一环节都有可能存在性能测试瓶颈,我们都需要能够通过分析性能的监控指标找到对应的问题。
我们今天要讲的Nginx负载均衡就是属于项目链路的一个环节,如果这个环节出了问题,那么也会造成性能瓶颈问题。所以,我们就需要深入了解一下具体什么是Nginx,以及Nginx出了问题会带来什么样问题以及如何解决这些问题。
什么是Nginx
Nginx: 是一个用 C 语言编写的高性能HTTP服务器、反向代理web服务器,具备占用内存少 + 并发能力强的优点。主要作为, 集群、负载均衡的软件、反向代理服务器、web服务器。
那么,这里讲到的反向代理又是什么?跟我们之前了解到的正向代理有什么区别呢?
- 正向代理:是给客户端做代理, 服务器收到的都是代理给我发过来的数据,不知道是哪个客户端;应用场景是客户端有集群时,代表就是VPN;
- 反向代理: 是给服务器做代理,客户端访问服务器其实访问的都是代理的地址,不知道服务器是哪个 服务器地址不会暴露;应用场景就是有服务器集群时,代表是Nginx,可以保护服务器的地址不会暴露,也可以做负载均衡。
因为所有的流量都要经过这个反向代理,所以这个性能要求非常高,Nginx就是一个内存占用少,并发能力强的一种反向代理