1.web环境,具体框架的一些与性能相关的设置
http://struts.apache.org/2.0.11/docs/performance-tuning.html
2.distributed ehcache设置
在一次项目中,有一位同事配置了distributed ehcache,没有通知我,当时我们的应用在局域网内好几台机器上布署了,测试在A机器上一天,或者一个上午,会发现有几次服务很慢,接下来就不能进行其他任何操作同时,再到另一台机器上测试也有同样的问题,但是在我们开发环境下就没有这个问题。我找来性能测试工具,却测试不出到底哪个模块中有资源泄露的问题,日志中就看到,有自动去查找并访问局域网内其他几台布署了相同应用的机器。后来去掉distributed ehcache配置后,就没有再出现那样的问题
3.database 相关的
connection(在进行一些jdbc操作,手工来管理connection的过程中一定要记得关闭,如果有try的情况,要在finnally中关闭)
preperstatement(我在一次大数据量处理过程中如:一次性导入十万以上的记录,发现这个有内存泄露现象内存在测试过程中高上去后,就下不来了,多进行几次机器内存被用光)
4. 采用一些cache机制(ehcahe,oscahe等),或者网站采用生成静态页面的方式,然后进行定期更新页面。
5.数据库压力过大时,频繁搜索会占用很大的数据库资源,可以考虑将数据库复制出两个,一个用于编辑,一个用于查询,或者查询的用文件服务器如:lucene之类的全文搜索技术来分解压力,提高搜索速度
6.performance与系统设计的关系也是非常大的,特别是数据库设计,越规范化的设计性能就越低,所以数据库设计也要在规范化与性能之间根据具体的情况进行综合考虑
[@more@]