现在的位置: 首页 > 综合 > 正文

java性能调优的基本思路

2019年09月27日 ⁄ 综合 ⁄ 共 926字 ⁄ 字号 评论关闭

java性能调优的基本知识  http://wenku.baidu.com/view/0b5e5b08581b6bd97f19eab3.html

Web应用影响性能的集中体现在:网络、CPU、内存、IO、数据库、缓存

   应用系统的性能测试通常有如下过程:
     1) 分析性能需求:了解系统性能需求,建立性能测试数据模型,分析性能需求,确定合理性能目标;
     2) 制定性能测试计划:规划性能测试所需的测试环境、测试程序,测试的人员组织,测试日程等;
     3) 设计场景:设计性能测试的测试案例;
     4) 根据场景编写程序、编写脚本、修改应用系统等;
     5) 执行性能测试:建立测试环境、执行测试案例,记录测试时的系统的各个可能的参数;
     6) 分析测试结果:根据应用系统表现和测试时的系统记录,分析发生的问题和测试结果;
     7) 优化性能:提高系统的性能,使系统在测试时有更好的表现;
     8) 性能回归测试:验证系统的优化以及对相关功能模块的影响;
     9) 测试报告:对测试进行总结,记录已改进的问题及相关改进的修改,制定未解决问题的对策,提出系统运行、维护和改进建议。

确定清晰的性能目标,并按优先级排列:
  利用科学的测试工具对应用程序进行测试,并记录测试结果。
  把分布式系统拆分成组件:Web层、业务层、集成层、以及网络传输时间,分别进行调优。
  有系统的科学调优
     遵循一定的程序:测试性能→找出瓶颈→假设造成瓶颈的因素→测试假设是否成立→修改应用→再次测试性能。
     确定影响性能的因素:CPU、Memory还是IO。
     找出主要的瓶颈,首先解决最容易的,再重复测试。
     一次修改一个瓶颈,不要对不需要的地方进行调优。
     提高CPU性能:更快的代码、SQL,更好的算法,减少短期生存的对象。
     提高内存性能:减少或减小长期生存的对象。
     提高IO性能:重新设计应用,减少IO的交互。
  优化完成之后,进行QA测试。
  在代码中记录优化的地方,并对旧代码进行注释。
  网络出现wait_time问题 解决办法 网络调参:设置/proc/sys/net/ipv4/tcp_tw_recycle为1,加快TIME_WAIT状态回收

抱歉!评论已关闭.