J2EE系统中影响性能的一些因素
2008-04-30 21:51
337 查看
6月24日去参加了BEA公司的成都User Group的活动,听了几场讲座。将我觉得最有意义和最有启发的内容记下来。
J2EE系统中影响性能的一些因素:
1. 数据库没有优化
由于大多数的J2EE系统都会经常访问数据库,如果数据库没有做优化,对系统的性能会有很大的影响。
2. 网络没有优化
如果网络没有优化,就有可能会产生瓶颈,影响性能。
3. 连接池太小
连接池过小,会导致很多进程等待连接池资源。
4. 过度的序列化
在不需要序列化的地方使用序列化。不使用序列化的性能比使用序列化的性能要高很多。
5. 滥用异常来控制流程
是使用返回值来指示错误还是使用异常来指示错误?不使用异常的性能是使用异常的性能的50倍。
6. JNDI查找调用没有使用缓存
JNDI中lookup是很耗费时间的操作。如果将lookup的对象缓存起来,对性能的提高有很大的好处。
7. SQL语句运行的时间太长,比如取的数据过多
这样会加重数据库的负担,也会加重网络传输的负担。
8. 数据库的调用太频繁
查询数据库的粒度太细,导致数据库查询太频繁。这样也会影响性能。
9. 事务处理过于精细
例如在session bean中,一个功能需要调用到多个方法,每个方法都要求一个新的事务,这样代价就非常高。
10.未合理使用缓存
11.对EJB没有合理的使用本地接口
如果是同一个ejb工程中的对象,就可以使用本地接口。使用本地接口的代价比使用远程接口的代价要小很多,性能相应的也高很多。
12.在会话中保留了过多的资源
在会话中保留太多的资源会严重消耗服务器端的内存资源。
http://blog.csdn.net/afrag/archive/2006/06/27/839783.aspx
J2EE系统中影响性能的一些因素:
1. 数据库没有优化
由于大多数的J2EE系统都会经常访问数据库,如果数据库没有做优化,对系统的性能会有很大的影响。
2. 网络没有优化
如果网络没有优化,就有可能会产生瓶颈,影响性能。
3. 连接池太小
连接池过小,会导致很多进程等待连接池资源。
4. 过度的序列化
在不需要序列化的地方使用序列化。不使用序列化的性能比使用序列化的性能要高很多。
5. 滥用异常来控制流程
是使用返回值来指示错误还是使用异常来指示错误?不使用异常的性能是使用异常的性能的50倍。
6. JNDI查找调用没有使用缓存
JNDI中lookup是很耗费时间的操作。如果将lookup的对象缓存起来,对性能的提高有很大的好处。
7. SQL语句运行的时间太长,比如取的数据过多
这样会加重数据库的负担,也会加重网络传输的负担。
8. 数据库的调用太频繁
查询数据库的粒度太细,导致数据库查询太频繁。这样也会影响性能。
9. 事务处理过于精细
例如在session bean中,一个功能需要调用到多个方法,每个方法都要求一个新的事务,这样代价就非常高。
10.未合理使用缓存
11.对EJB没有合理的使用本地接口
如果是同一个ejb工程中的对象,就可以使用本地接口。使用本地接口的代价比使用远程接口的代价要小很多,性能相应的也高很多。
12.在会话中保留了过多的资源
在会话中保留太多的资源会严重消耗服务器端的内存资源。
http://blog.csdn.net/afrag/archive/2006/06/27/839783.aspx
相关文章推荐
- J2EE系统中影响性能的一些因素
- J2EE系统中影响性能的一些因素
- J2EE系统中影响性能的一些因素
- 杂谈影响性能的一些因素
- 存储系统性能影响因素(1)---文件系统-----freenas的ZFS和RAID技术
- C++ allocator及一些影响程序性能的因素
- 文件系统那些事-第3篇 影响文件系统性能的关键因素:存储块分配和布局策略
- 理解 OpenStack Swift (3):监控和一些影响性能的因素 [Monitoring and Performance]
- 影响推荐系统性能的因素
- 文件系统那些事-第3篇 影响文件系统性能的关键因素:存储块分配和布局策略
- 存储系统性能影响因素(1)---文件系统
- 哪些初始化参数最影响Oracle的系统性能
- 影响网络应用程序性能的因素
- MySQL影响性能的因素
- 影响Linux服务器性能的因素
- IBM Rational助您轻松完成基于J2EE的Web应用系统的性能测试和性能优化(一)
- 吞吐量(Throughput)、QPS、并发数、响应时间(RT)对系统性能的影响
- 改善J2EE程序性能的一些方法
- 影响视频会议系统音视频效果的因素
- 影响数据库性能的因素以及解决方法