[转帖]Apache和Weblogic处理静态页面的对比_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 12346 | 回复: 0   主题: [转帖]Apache和Weblogic处理静态页面的对比        下一篇 
    本主题由 wangxilu 于 2013-4-23 13:57:55 置为精华
lengyuLee
注册用户
等级:少校
经验:1118
发帖:83
精华:5
注册:2013-3-7
状态:离线
发送短消息息给lengyuLee 加好友    发送短消息息给lengyuLee 发消息
发表于: IP:您无权察看 2013-3-12 10:26:34 | [全部帖] [楼主帖] 楼主

一:概述      
大家都知道,一般来说一个Web应用都分为动态内容(jsp,servlet, 
CGI)和静态内容(图片,文档,HTML)两部分内容。而在很多地方,我们都没有把动态和静态内容进行分离,来提高应用的整体性能。下面的文章通过实际
的测试数据告诉你,静态内容的分离对性能到底会有多大的影响。测试环境 APACHE, WEBLOGIC

Apache代理 + Weblogic整合方式的部署web应用一般有如下两种部署方式。
方式一:Apache只做代理服务器,整个web应用都部署在Weblogic中。
方式二:不仅让Apache做前端代理服务器,而且将静态页面部署在Apache里,动态页面部署在Weblogic里。
此文档将针对这两种部署方式,具体分析它们的区别,得出在不同情况下部署web应用的最佳实践方法。
二:区别
 两种方式的区别: 
方式一是将所有请求都由Apache转发到指定的Weblogic服务器。方式二实现了动态页面和静态页面分开,当客户端请求静态页面时,直接使用
Apache处理请求并返回给客户端,而客户端请求动态页面时,由Apache转发到指定的Weblogic服务器。

三:测试与结果对比通过测试这两种不同的部署方式来找出详细的区别,首先在分别在Weblogic和Apache 中分别部署同样的静态页面,通过Apache代理访问。
1.LoadRunner8.1 测试  
测试目的:
 通过测试CPU占用率,进行对比。
测试并发量:

100


请求页面信息:
 html页面, 10个jpg图片,总大小1.35M。

测试结果对比:

部署方式:
 方式一
 方式二
CPU占用率:
 保持在95%以上。占用率很高
 60%-70%之间。占用率一般
响应最小时间:

0.109ms

 0.066ms

响应最大时间:

10.156ms
8.688ms


响应平均时间:

4.746ms

 3.317ms

平均每秒点击率:
 220.566次
 321.672次

LoadRunner测试总结: Weblogic处理静态页面,CPU占用率高,会加重服务器负担。如果用Apache

代理服务器处理静态页面, 静态页面和动态页面分开处理,Weblogic不参与静态页面的处理,如果客户端
不访问动态页面,Weblogic则不提供服务,能充分减轻服务器压力。
2. Http 测试目的:测试单次请求的数据量和时间,进行对比。
在两种部署方式下对客户端请求服务器的三种不同状态进行测试。因为浏览器的转到和刷新两种方式
有差别的,所以采用三种状态测试。三种状态分别为:
1.第一次转到(IE浏览器无临时文件)

2.刷新(有临时文件情况下的刷新)

3.删除临时文件后刷新
附:转到和刷新的区别
一.刷新 
在现有网页的基础上检查网页的是否有更新的内容。在检查时会保留之前的一些变量的值,因此有时
可能会造成刷新后网页出现错误,或者无法打开的情况。与转到的区别是浏览器取网页的新内容来更新本
机缓存,在更新的同时保留之前的一些变量。 

二.转到 
相当于在地址栏中重新输入网页的URL访问,浏览器会尽量使用已经存于本机中的缓存。相对于刷新,
转到是一种全新的访问,它会尽量使用本机中的缓存文件,但不保留之前的变量。
方式一,状态一·第一次转到

Sent: 表示客户端向服务器端发送请求字节大小
      Reveived:表示客户端收到服务端发送请求字节大小
      Result: 表示服务器返回到客户端结果
总时间为0.797ms

方式二,状态一·第一次转到

总时间为0.711ms

两种方式在状态一的对比情况: 用Apache处理静态页面 比Weblogic处理的时间快
方式一,状态二·刷新

Sent请求字节为 10KB

Received 收到字节为 10KB

时间1.227ms

状态码  200    (服务器已成功处理了请求)
方式二,状态二·刷新

Sent请求字节为 2KB

Received 收到字节为 2KB

时间 0.65ms

状态码  304    (网页自请求者上次请求后再也没有更改过,服务器配置为返回此可以适当节省资源)
两种方式在状态一的对比情况: 用Apache处理静态页面 比Weblogic处理的时间快,Sent和Received的字节数比较少,更节省服务器资源,状态码为304。
方式一,状态三·删除临时文件后刷新

方式二,状态三·删除临时文件后刷新

两种方式在状态一的对比情况: 用Apache处理静态页面 比Weblogic处理的时间快很多,其他数据基本相同。
        Http测试总结:从数据能清晰的看出两种部署方式之间的差别,采用Apache处理
静态页面的的时间一般都比Weblogic处理静态页面的时间快,且Apache服务器在浏览器刷新
的基础上采用的是304状态码的响应,能节省服务器,优势比较明显。

Apache 压缩传输的介绍与对比
开启压缩传输功能需要在apache的配置文件中开始这两个模块,mod_deflate.so   mod_headers.so,在并做如下配置。

<ifmodule mod_deflate.c>
DeflateCompressionLevel 9   //压缩程度 最高 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE  css  js  jpg  jpe?g  bmp gif
</ifmodule>


同样情况下apache开启压缩传输功能之后用
LoadRunner测试
测试结果:因为在传输之前会先对客户端请求的数据进行压缩,CPU 使用率很高

Http测试
因为数据本身只有1.3M,压缩效果不明显,所以换成每个大小为3M的jpg图片,总大小15M

分别用在weblogic和apache测试\

测试服务器:

Weblogic
Apache


请求和接受的数据为:

15M
10.5M


压缩后的数据流量是未压缩之前的66%

四:总结
通过对LoadRunner测CPU占用率、HttpWatch测网页数据量以及时间和状态码的分析,都能看
出使用Apache做Weblogic的前端代理,把静态页面部署在Apache中优势很明显,方式二的部署方
式是正确可行的。如果启用apache压缩传输,会减少数据传输量,有效减少流量,但是压缩时,占
用CPU提高。如果硬件设备达不到要求,建议不启用。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论