影响系统性能的自身因素


 
程序并发处理的能力
 
这个不是单个请求能体现出来的,单个请求请求时间可能会很快,但有一定并发量后对系统的平均响应时间影响很大,因此做好程序的并
 
发编程还是很重要的。可以采用以下一些增强程序并发处理能力的方法:
 
  • 减少Synchronized关键字和对象锁的使用(尽量减少同步代码块),而使用JDK 1.5新增的并发容器类
 
  • 降低变量的可见性,对变量进行线程封闭(如局部变量、ThreadLocal)
 
  • 将不需要改变的变量都声明为final来增强变量的不变性
 
  • 不要在耗时的方法或网络I/O中持有锁或开启事务
 
 
程序异步执行的能力
 
程序的异步执行能力往往对单个请求的响应时间影响很大,因此应尽量将能异步处理的操作做成异步任务,具体可以采用Spring的
 
@Async异步注解或Java自带的Future接口实现
 
 
JVM内存的使用
 
这点对性能的影响主要体现在系统的抗压能力上,我在进行系统压力测试的适合曾发现系统持续7000左右的访问量时就报内存耗尽
 
(OutOfMemory)的错误,后来发现是因为在并发量大时,因为系统创建的对象过多,堆内存全部耗尽,而垃圾回收机制来不急回收
 
造成的。因此,我们可以在对象不需要是手动把对它的引用设为null,让垃圾回收器尽快回收。当然,还可以进行一些常见的JVM调优
 
的方法,这里就不详细展开了。
posted @ 2017-02-17 16:09  二十六度半  阅读(479)  评论(0编辑  收藏  举报