zoukankan      html  css  js  c++  java
  • 影响系统性能的自身因素


     
    程序并发处理的能力
     
    这个不是单个请求能体现出来的,单个请求请求时间可能会很快,但有一定并发量后对系统的平均响应时间影响很大,因此做好程序的并
     
    发编程还是很重要的。可以采用以下一些增强程序并发处理能力的方法:
     
    • 减少Synchronized关键字和对象锁的使用(尽量减少同步代码块),而使用JDK 1.5新增的并发容器类
     
    • 降低变量的可见性,对变量进行线程封闭(如局部变量、ThreadLocal)
     
    • 将不需要改变的变量都声明为final来增强变量的不变性
     
    • 不要在耗时的方法或网络I/O中持有锁或开启事务
     
     
    程序异步执行的能力
     
    程序的异步执行能力往往对单个请求的响应时间影响很大,因此应尽量将能异步处理的操作做成异步任务,具体可以采用Spring的
     
    @Async异步注解或Java自带的Future接口实现
     
     
    JVM内存的使用
     
    这点对性能的影响主要体现在系统的抗压能力上,我在进行系统压力测试的适合曾发现系统持续7000左右的访问量时就报内存耗尽
     
    (OutOfMemory)的错误,后来发现是因为在并发量大时,因为系统创建的对象过多,堆内存全部耗尽,而垃圾回收机制来不急回收
     
    造成的。因此,我们可以在对象不需要是手动把对它的引用设为null,让垃圾回收器尽快回收。当然,还可以进行一些常见的JVM调优
     
    的方法,这里就不详细展开了。
  • 相关阅读:
    Redis主从同步分析(转)
    Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】(转)
    PHP之PDO_MYSQL扩展安装步骤(转)
    MongoDB 那些坑(转)
    CF 222 (DIV 1)
    TC SRM601
    TC SRM600 DIV2
    Github入门教程
    2013长春区域赛总结
    退役了~~~~~~~~~~~~
  • 原文地址:https://www.cnblogs.com/gdufs/p/6410332.html
Copyright © 2011-2022 走看看