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


     
    程序并发处理的能力
     
    这个不是单个请求能体现出来的,单个请求请求时间可能会很快,但有一定并发量后对系统的平均响应时间影响很大,因此做好程序的并
     
    发编程还是很重要的。可以采用以下一些增强程序并发处理能力的方法:
     
    • 减少Synchronized关键字和对象锁的使用(尽量减少同步代码块),而使用JDK 1.5新增的并发容器类
     
    • 降低变量的可见性,对变量进行线程封闭(如局部变量、ThreadLocal)
     
    • 将不需要改变的变量都声明为final来增强变量的不变性
     
    • 不要在耗时的方法或网络I/O中持有锁或开启事务
     
     
    程序异步执行的能力
     
    程序的异步执行能力往往对单个请求的响应时间影响很大,因此应尽量将能异步处理的操作做成异步任务,具体可以采用Spring的
     
    @Async异步注解或Java自带的Future接口实现
     
     
    JVM内存的使用
     
    这点对性能的影响主要体现在系统的抗压能力上,我在进行系统压力测试的适合曾发现系统持续7000左右的访问量时就报内存耗尽
     
    (OutOfMemory)的错误,后来发现是因为在并发量大时,因为系统创建的对象过多,堆内存全部耗尽,而垃圾回收机制来不急回收
     
    造成的。因此,我们可以在对象不需要是手动把对它的引用设为null,让垃圾回收器尽快回收。当然,还可以进行一些常见的JVM调优
     
    的方法,这里就不详细展开了。
  • 相关阅读:
    不变数组 NSArray
    【英雄会】微软题目:几个bing
    单例模式 Singleton
    【实战经验】64位Win7安装+32位Oracle + PL/SQL 解决方法
    如何解决SQL Server数据库查询速度慢
    Linq 学习(1) Group & Join--网摘
    UMeng 友盟的用户数,启动数 等
    浏览器userAgent大全
    VBA 将 ANSI 转换为 UTF-8文件
    C# 中控件 WebBrowser 对 frameset/ iframe 操作和内容获取
  • 原文地址:https://www.cnblogs.com/gdufs/p/6410332.html
Copyright © 2011-2022 走看看