`
DigitalSonic
  • 浏览: 210250 次
社区版块
存档分类
最新评论

利用缓存提高小型站点性能

阅读更多

        最近结束了一个小型网站项目,主要功能就是一个文章系统,为了提升站点性能,我在首页上使用了OSCache,在访问首页时,性能的确有不小的提升(具体数据见《JMeter小实验——JSP性能简单测试》),但我对此并不满足,打算使用Hibernate的二级缓存来优化访问文章和栏目时的速度。
        Hibernate的二级缓存有很多选择,我选择了默认的EHCache。它的配置十分简单,只要在Hibernate配置里加入hibernate.cache.provider_class=net.sf.hibernate.cache.EhCacheProvider,然后在Classpath里加入EHCache.xml文件,我的文件内容如下:

<ehcache>
    <diskStore path="java.io.tmpdir"/>
    <defaultCache
        maxElementsInMemory="1000"
        eternal="false"
        timeToIdleSeconds="600"
        timeToLiveSeconds="600"
        overflowToDisk="false"
        />
</ehcache>

        JavaEye上的《hibernate二级缓存攻略》对这些属性有如下说明:eternal表示缓存是不是永远不超时,timeToLiveSeconds是缓存中每个元素(这里也就是一个POJO)的超时时间,如果eternal="false",超过指定的时间,这个元素就被移走了。timeToIdleSeconds是发呆时间,是可选的。当往缓存里面put的元素超过500个时,如果overflowToDisk="true",就会把缓存中的部分数据保存在硬盘上的临时文件里面。注意:我的配置中最大元素设成了1000。
        如果希望每个缓存的POJO有自己的配置,可以把defaultCache换成cache name="com.xxx.pojo.Foo"。
        完成了EHCache.xml的配置,接下来在每个要被缓存的POJO映射 文件里加入<cache usage="read-write" />,其中read-write是缓存策略,Hibernate还有read-only、nonstrict-read-write和transactional这些策略以供选择。
        配置完成后,我用JMeter测试,发现头两次访问的时间很长,但随后的访问速度有很大提升,数字上相差两位呢。虽然在实际使用时还有网络等因素会影响站点的访问,不过总的来说对于这样的小型文章系统,二级缓存的使用还是对整体性能有帮助的。最后要做的就是根据实际使用情况,适当调整一下缓存设置,我用SpringAOP建立了一个处理日志的拦截器,记录访问量和访问间隔,先让它运行一段时间,随后根据日志情况对缓存作调整。

分享到:
评论

相关推荐

    创易CreateEasy CMS V1.0 Beta版

    CreateEasy CMS 是一套面向各类中小型站点建设和管理而设计研发的通用型建站管理系统(又称内容管理系统),利用本系统可以很方便地建立和管理属于企业自身或个人特性的互联网站点。本系统基于ASP语言和MSSQL/ACCESS...

    创易CreateEasy CMS V1.0 SP4

    高效率页面与标签缓存机制:所有模板样式以缓存文件形式预先加载,有利于提高系统反应速度,降低系统消耗的资源; 5、模板自由化设计,系统通过所提供的模板标签与控制标签的结合使用,可为用户提供完全自由的界面...

    创易CreateEasy CMS V1.0 SP7.rar

    高效率页面与标签缓存机制:所有模板样式以缓存文件形式预先加载,有利于提高系统反应速度,降低系统消耗的资源; 5、模板自由化设计,系统通过所提供的模板标签与控制标签的结合使用,可为用户提供完全自由的界面...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    46、全新引入Application+XML缓存机制,大大提高了系统的生成速度及运行效率 47、全站所有频道(只要涉及到图片)均可自动添加水印及生成缩略图功能及幻灯片功能。 48、影视系统支持多种格式(如:.rm,.rmvb,.ra;....

    asp.net知识库

    2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    下载以后,通过"站点管理"--&gt;"新建站点".输入IP,用户名,密码.然后连接即可. 当然也可用FTP工具.直接在IE浏览器地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件! 第三章 开发环境的说明与...

    搜索引擎——原理、技术与系统.

    二、 一个小型搜索引擎系统..................................................................................31 第二节 网页搜集..............................................................................

    搜索引擎原理、技术与系统

    二、 一个小型搜索引擎系统..................................................................................31 第二节 网页搜集..............................................................................

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................

Global site tag (gtag.js) - Google Analytics