首页 存档 技术 查看内容

应用性能诊断方法与行业最佳实践分析

2018-3-30 13:00 |来自: 互联网 348 0

摘要: 随着Internet的普及与迅速发展,企业业务量的迅速加大,IT系统承载的负荷越来越重,系统性能的好坏严重影响了企业对外提供的服务质量。应用性能诊断分析是性能测试实施过程的重要环节。 目录 通用的性能测试实施 ...



随着Internet的普及与迅速发展,企业业务量的迅速加大,IT系统承载的负荷越来越重,系统性能的好坏严重影响了企业对外提供的服务质量。应用性能诊断分析是性能测试实施过程的重要环节。


目录


  • 通用的性能测试实施过程

  • 应用性能诊断分析方法-分层法

  • 应用性能诊断分析方法-分段法

  • 总结


一.通用的性能测试实施过程




1、需求分析


性能测试需求是应用需求的衍生。需要借助于相关的理论知识和相关领域的经验积累,对性能测试需求进行分析整理。需要明确下面相关内容:


  • 测试目标

  • 测试范围

  • 测试策略

  • 测试模型构建

  • 测试环境

  • 进度计划

  • 准入、准出和暂停准则

  • 职责分工

  • 度量指标

  • 测试用例


2、环境准备


在实施过程中需要监控主机、中间件等资源,我们需要提前准备相关监控工作:


  • 监控工具部署

  • 相关参数配置

  • 监控脚本部署和测试

  • 性能测试工具部署


3、实施压测


  • 脚本录制、编写

  • 测试场景制定

  • 场景压测过程监控

  • 监控数据收集


4、结果分析及优化


利用监控到的数据结果分析系统性能情况,并定位系统的性能瓶颈所在并进行性能优化。评价系统的性能情况可以借助相关指标:


  • TPS

  • 响应时间

  • 主机资源情况:CPU、内存、IO、磁盘

  • 事务通过率


性能优化通过可以从以下几方面进行优化:


  • 代码层

  • 数据库sql

  • 配置参数调整

  • 网络

  • 硬件资源


这4个环节,每个都有很多细节的内容,在这里就不一一去细讨论了,我们重点看后边两部分关于性能监控、诊断分析方面的内容。


二. 应用性能诊断分析方法-分层法


应用性能诊断分析涉及到多层面的分析,包括操作系统、中间件、数据库、系统日志监控数据等等。我们主要从应用程序、中间件、网络、操作系统、数据库这5个维度来分析。这5个部分贯穿了整个应用从前端到后端的性能测试的整个过程,通过这5个层面的分析能诊断出系统性能问题是什么原因产生的。




对于不同层面用不同的指标去度量,通过度量指标来分析定位性能问题,下面是5个层面典型度量指标:



每个层面关注的度量指标


下面我们来看一个简单的案例:


该案例主要从应用、主机资源和中间件三个维度来分析,它是Apache/Tomcat Linux Oracle的架构。


Web服务器:Apache

应用服务器:Tomcat

操作系统:Redhat6

数据库:Oracle11


采用主流的性能测试工具Loadrunner进行压测。


监控是诊断分析的基础,收集监控数据就像福尔摩斯探案时查找各种蛛丝马迹!


我们采用分层监控的方法。


例如,Linux监控使用开源的Nmon进行Linux系统性能数据采集。




主要关注:


  • CPU占用率

  • 内存使用情况

  • 磁盘I/O速度、传输和读写比率

  • 文件系统的使用率

  • 网络I/O速度、传输和读写比率、错误统计率与传输包的大小

  • 消耗资源最多的进程

  • 计算机详细信息和资源

  • 页面空间和页面I/O速度

  • 用户自定义的磁盘组

  • 网络文件系统


启动该程序,使用如下命令:


./nmon_x86_fedora5fTs5c100


或在后台运行Nmon,使用如下命令:


nohup./nmon_x86_fedora5fTs5c100


通过sort命令可以将Nmon结果文件转换为CSV文件。


#sort-Atest1_090308_1313.nmon

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部