注:原文为:andyguo: 《web性能监控与分析

性能测试需要使用不同的工具,结合系统日志,监控服务器、应用等方面的多项指标。以下阐述监控指标、监控工具、瓶颈分析。

服务端监控指标

性能测试通常需要监控的指标包括:

服务器

Linux(包括CPU、Memory、Load、I/O)。

数据库

Mysql(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数)。

中间件

1.tomcat 2、nginx   3、memcache(包括线程数、连接数、日志)。

网络

吞吐量、吞吐率。

应用

jvm内存、日志、Full GC频率。

客户端监控指标

LoadRunner

用户执行情况、场景状态、事务响应时间、TPS、吞吐量等。

测试机资源

CPU、Memory、网络、磁盘空间。

常用监控工具

Jstat

监控java 进程GC情况,判断GC是否正常。

JConsole

监控java内存、javaCPU使用率、线程执行情况等,需要在JVM参数中进行配置。

JMap

监控java程序是否有内存泄漏,需要配合eclipse插件或者MemoryAnalyzer来使用。

JProfiler

全面监控每个节点的CPU使用率、内存使用率、响应时间累计值、线程执行情况等,需要在JVM参数中进行配置。

Nmon

全面监控linux系统资源使用情况,包括CPU、内存、I/O等,可独立于应用监控。

Probe

全面监控tomcat的线程、内存、JVM CPU 使用率、OS 和 JVM内存使用率、交换区使用率、每30秒内接收到的请求数目等等

Memadim

1.   服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新

2.  服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控

3.  支持数据遍历,方便对存储内容进行监视

4.  支持条件查询,筛选出满足条件的KEY或VALUE

性能分析

分析信息来源

5.  监控工具所采集的信息。包括TPS、响应时间、用户并发数、JVM内存、Full GC频率、tomcat连接数,数据sql执行时间、memcache的命中率、nginx的连接数等。

6.  应用服务器的日志。包括错误日志、超时日志等。

7.  项目配合人员所提供的信息。包括DBA提供的数据库监控信息、开发人员提供的代码逻辑信息。

分析标准

1.通过性能指标的表现形式,分析性能是否稳定。比如:

2.响应时间是否符合性能预期,表现是否稳定。

3.应用日志中,超时的概率,是否在可接受的范围之内。

8.  TPS维持在多大的范围内,是否有波形出现,标准差有多少,是否符合预期。

9.  服务器CPU、内存、load是否在合理的范围内,等等。

分析工具

对于部分性能指标,可借助自动分析工具,统计出数据的总体趋势:

1、LoadRunner analysis 分析

LoadRunneranalysis是loadrunner的一个部件,用于将运行过程中所采集到的数据生成报表,主要用于采集TPS、响应时间、吞吐量、服务器资源使用情况等变化趋势。

2、Memory Analyzer分析

Memory Analyzer工具可以解析Jmap dump出来的内存信息,查找是否有内存泄漏。

3、nmon_analyser分析

nmon工具可以采集服务器的资源信息。列出CPU、MEM、网络、I/O等资源指标的使用情况。

4、MONyog分析

通过此工具我们能够跟踪到执行比较慢的sql语句,并且可以分析出sql语句执行时扫描的行数,使用的索引情况。

 
 

web性能监控与分析的更多相关文章

  1. [转]Web性能监控自动化探索之路–初识WebPageTest

    本文转自:http://www.webryan.net/2013/01/use-webpagetest-to-analyze-web-performance/ 无论是从Velocity 2012还是在 ...

  2. [转]基于phantomJS实现web性能监控

    1.web性能监控背景描述 上期分享的<Web性能监控自动化探索之路–初识WebPageTest>从依赖webpagetest的角度给出了做性能日常检查的方案,但由于依赖结构相对复杂我们需 ...

  3. Linux性能监控与分析之--- CPU

    Linux性能监控与分析之--- CPU 望月成三人关注 2016.07.25 18:16:12字数 1,576阅读 2,837 CPU性能指标 用户进程使用CPU的比率 系统进程使用CPU的比率 W ...

  4. Sentry Web 性能监控 - Metrics

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  5. Sentry Web 性能监控 - Trends

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  6. Go 程序的性能监控与分析 pprof

    你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?是否尝试理解过为什么在程序中增加了并发,但并没有给它带来更好的性能?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有 ...

  7. [原创]HTML5 web性能监控策略

    web性能重要指标--时长 通常在监控前端页面性能的时候,我们会需要获取到很多的时间戳,比如用户按下回车的时候开始计时,但这个时候,我们统计的js代码并没有加载过来,也无法读取到相关的信息.在HTML ...

  8. MongoDB 运行状态、性能监控,分析

    这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康.转载自http://tech.lezi.com/archives/290 mongostat详解 启动mongodb监控,通过下面命令 ...

  9. MongoDB运行状态、性能监控,分析

    转载自这位仁兄:地址 mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者 ...

随机推荐

  1. Vue初学者可能不知道的坑

    1.setTimeout/ setInterval 场景一 :this指向改变无法用this访问vue实例 mounted(){ setTimeout( function () { //setInte ...

  2. CentOS6.7下Ansible部署

    Ansible是一种集成IT系统的配置管理, 应用部署, 执行特定任务的开源平台. 它基于Python语言实现, 部署只需在主控端部署Ansible环境, 被控端无需安装代理工具, 只需打开SSH, ...

  3. 【已解决】Microsoft visual c++ 14.0 is required问题解决办法

    装 识别图形验证码库tesserocr的时候,出现了Microsoft visual c++ 14.0 is required的问题,用离线安装还是没有用. 就只能乖乖装Microsoft visua ...

  4. the difference __str__ and __repr__

    First, let me reiterate the main points in Alex’s post: The default implementation is useless (it’s ...

  5. 利用U盘启动制作GHO镜像

    利用U盘启动制作GHO镜像 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. In a realproduction environment. 我们我们可能遇到频繁的安装系统,安装环境 ...

  6. Cloud9 开发环境部署

    安装和部署 cloud9 云端开发环境 简介 Cloud9 是亚马逊发布的一款基于云端的开发环境. AWS Cloud9 是一种基于云的集成开发环境 (IDE),您只需要一个浏览器,即可编写.运行和调 ...

  7. 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装

    1. Zabbix服务端安装,基于LNMP PHP5.5+Nginx1.9安装配置:http://www.cnblogs.com/vurtne-lu/p/7707536.html MySQL5.5编译 ...

  8. mysql中sql语句的常用语句

    1:提取公共的sql语句: 2:动态添加----sql语句: 代码: <insert id="test1" parameterType="com.floor.sho ...

  9. STM32L15XXX 入门笔记

    一.系统时钟默认是32M,最高支持32M,不过下图已经改成72M也可以运行,可能会有什么后遗症,位置在 二.定时器1ms两种方法1.Main.c里 void delay_nms(uint32_t ti ...

  10. PreparedStatement 基于mysql数据库做分页查询和统计查询

    分页查询: 统计查询: