nginx笔记2-负载均衡

负载均衡实现方式分为两类:1硬件类,2软件类。

硬件类:F5(这是一种硬件,并不是刷新啊,不要误解)  优点:非常快,可靠性高,并发量大。缺点:太贵,成本高,不方便,最致命的是不能将动态请求和静态请求分离。

软件类:1.apache http server:可靠性高,可以动静请求分离,但是,效率低。(少用)

    2.linux的LVS是基于Linux系统IP层面的负载均衡,可靠性非常高,简单易用,并发量大,缺点:最致命的是不能将动态请求和静态请求分离。

    3.nginx 优点:非常快,可靠性高,并发量大,更重要的是可以将动态请求和静态请求分离。这是一种反向代理软件,反响代理:把把服务器的IP隐藏起来,看到的只有nginx的ip,外界不知道。正向代理:即隐藏用户IP

    这里为什么要说动静分离为什么那么重要呢?我们先看下图:

nginx笔记2-负载均衡

如果我们没有将动静分离,会有什么样的后果呢?1.看上图,如果静态资源的请求(即JS,CSS,图片等)和动态资源请求(数据库等)不分离,全部集中在Tomcat,那么Tomcat的压力不然会很大,而且请求时延很大。那么如果进行动静分离后,静态资源放在nginx的目录下

,静态请求的资源直接在nginx哪里获取,不需要走Tomcat,动态资源走Tomcat,这样效率大大提高,请求时延大大减低。

Tomcat的压力测试:

  1.简单建立一个helloword页面,把工程打包后放在Tomcat的webapp目录下,启动Tomcat。

  2.先从http://jmeter.apache.org/download_jmeter.cgi的download目录下载,如下图:

nginx笔记2-负载均衡

后缀为.tgz是linux的,zip是windows的。拿到解压后在bin目录启动就可以进行压力测试:如图

 nginx笔记2-负载均衡

这里首先添加一个线程组,在线程组下面添加http请求,图形结果,观察树,和聚合报告。

线程组中的参数如图:

nginx笔记2-负载均衡

http的参数:

nginx笔记2-负载均衡

剩下的不用配置了。

测试结果:

nginx笔记2-负载均衡

nginx笔记2-负载均衡

nginx笔记2-负载均衡

最后一张图如上,当线程数很高的时候,Tomcat承受不聊了,图中Error代表错误率。Throughput代表Tomcat的吞吐量。这跟笔记一的Tomcat理论值很接近。具体业务不同,承受能力不同。

上一篇:Android源码分析(七)-----如何解决java编译版本问题


下一篇:C++高性能转换大小写算法