- ·上一篇文章:JSP中实现像Google和百度一样的分页效果
- ·下一篇文章:JSP连接MySQL数据库时中文编码问题解决方法
用OSCache提升J2EE系统运行性能
这种功能的实现是通过在web.xml中进行配置来决定缓存哪一个或者一组页面,而且还可以设置缓存的相关属性,这种基于配置文件的实现方式对于J2EE来说应该是一种标准的实现方式了。
[注] 只有客户访问时返回http头信息中代码为200(也就是访问已经成功)的页面信息才能够被缓存
(1)缓存单个文件
修改web.xml,增加如下内容,确定对/testContent.jsp页面进行缓存。
CacheFilter
com.opensymphony.oscache.web.filter.CacheFilter
CacheFilter
/testContent.jsp
(2)缓存URL pattern
修改web.xml,增加如下内容,确定对*.jsp页面进行缓存。
CacheFilter
com.opensymphony.oscache.web.filter.CacheFilter
CacheFilter
*.jsp
(3)自己设定缓存属性
在页面级缓存的情况下,可以通过设置CacheFilter的初始属性来决定缓存的一些特性:time属性设置缓存的时间段,默认为3600秒,可以根据自己的需要只有的设置,而scope属性设置,默认为application,可选项包括application、session
CacheFilter com.opensymphony.oscache.web.filter.CacheFilter
time 600
scope session
CacheFilter *.jsp
5 性能测试结果
5.1 测试环境
系统平台:windows 2000 高级服务器/ P3 800 /512M内存
web服务器:websphere 5.0
数据库服务器:mysql 4.0.18-nt
性能测试用工具:apache Jmeter
5.2 测试计划
这次性能测试对比方为使用缓存和不使用缓存两种,他们的访问代码都是一样的:通过数据源从本地mysql数据库中获取person表的所有记录,然后显示在页面上。
测试中将模仿10个用户,每个用户发起5次请求,然后统计所有访问花费的时间。
5.3 测试结果
使用缓存后的测试结果 不使用缓存时的测试结果
所有请求花费的总时间(毫秒) 20569 22870
6 总结
在J2EE系统中,我们经常需要处理一些特殊的动态内容,这些内容在一个时间段内的变更非常有限,但是又不得不将他们确定为动态内容进行输出,而且非常消耗数据库系统资源或者web服务器的资源,这时我们就可以采用Cache----一种用于提高系统响应速度、改善系统运行性能的技术----来优化我们的系统。尤其是在Web应用中,这种处理可以很显著的改善系统运行性能。
本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能的开放源代码项目----OSCache。它提供了在J2EE系统中实现缓存需要的丰富的功能。通过应用OSCache,我们不但可以实现通常的Cache功能、zi you的设定cache的相关特性比如缓存时间段/缓存内容等,提升系统性能,而且还能有效的改善系统的稳定性。除此之外,OSCache组件还提供了更多的特性比如集群、容错、灵活的缓存区选择等。
作者根据自己的使用经验给大家提供了一些简单的例子,他们部分演示了如何使用OSCache组件提供的丰富特性,OSCache提供的特性远不止这些,需要大家在今后的时间里深入的研究,同时也希望大家通过E-mail和作者贡献研究成果。
参考资料
OpenSymphony网站中关于OSCache的部分 http://www.opensymphony.com/oscache/
OSCache下载地址 http://www.opensymphony.com/oscache/download.html
作者简介
肖菁,软件工程师,IBM developerWorks/Bea dev2dev/sun 技术开发者撰稿人,主要研究J2EE、web services以及他们在websphere、weblogic平台上的实现,拥有IBM的 Developing With Websphere Studio证书。您可以通过guilaida@163.com和作者取得联系,或者查看作者的主页获取更多信息。
!
用OSCache提升J2EE系统运行性能