一种基于JAMon自动化网站服务性能监控方法技术领域
本发明涉及网站性能测试,具体涉及一种基于JAMon(一种Java应用程序监视器)
自动化网站服务性能监控方法。
背景技术
随着互联网技术的发展,网站服务已经早已深入到各行各业之中,只要通过网络,
人们便可以通过各种方式(如手机、PC和平板)访问互联网提供的服务。根据CNNIC的相关报
道,从2011年6月到2015年6月,中国互联网普及率从36.2%发展到了48.8%,截止2015年6
月,网站数量也增长到了357万个,平均年增长率大于10%,面对高速增长的互联网客户和
网站,提供高性能、稳定的网站服务越来越受到各个企业和公司的重视,但是目前很多企业
和公司由于人力或者资源的不足,对网站的性能监控做的非常少或者几乎不做,一些企业
也为此花费了大量的金钱去购买这方面的商用软件来解决这个问题,甚至有些企业一旦出
现网站性能问题就直接通过硬件提升来解决。
其实对于一个网站来讲,其提供了很多种服务(如我们常用的淘宝网站,他们就提
供了注册、登录、查询商品、订单等一系列的服务),而一般网站出现的性能瓶颈一般会集中
到其中某几个服务,所以针对这一规律,对于网站的开发者而言,我们的主要精力就是找到
这几个性能瓶颈点并解决这些瓶颈问题,从而提升整个网站的性能。
传统技术中,一般基于网站监控的Firebug、Chrome Plugin、JAMon等工具获得的
性能数据都是以网页表格形式提供的,通常都需要大量的人工参与和分析的过程,如果要
找到其中的性能问题他们首先要确定每一类请求的性能最低要求,比如说静态文件请求最
低性能指标,动态请求内容最低系能指标,数据库查询最低性能指标,然后逐一排查,然后
把性能不达要求的请求筛选整理出来,最后报告给研发人员进行排查,这种方式需要测试
人员花费大量的时间来排查和筛选网站中有问题的数据。如果是检测一个大型的网站,光
是排查和整理数据就需要花费一整天的时间,而且性能的监控和排查贯穿于整个网站的声
明周期,这样的时间和人力成本是企业和公司非常不愿意看到的。
发明内容
本发明所要解决的技术问题是:提出一种基于JAMon自动化网站服务性能监控方
法,解决传统技术中对网站服务性能监控方案存在的需要花费大量时间和人力成本的问
题。
本发明解决其技术问题所采用的技术方案是:一种基于JAMon自动化网站服务性
能监控方法,包括以下步骤:
a.通过JAMon获取网站各种资源访问的性能参数;
b.作业调度平台自动读取预先设置的配置文件进行相关配置;
c.作业调度平台通过产生作业任务读取网站的性能监控数据;
d.作业任务对读取的网站的性能监控数据进行逐一分析,并将分析结果回传调度
平台;
e.作业调度平台将分析结果发送给测试报告联系人。
作为进一步优化,步骤a中,通过JAMon获取网站各种资源访问的性能参数的方法
是:
首先配置JAMon工具到Web工程中,然后通过JAMon拦截网站中三类请求的性能指
标,包括:所有静态文件的请求访问的时间、所有动态资源的请求的时间、所有数据库SQL查
询的时间。
作为进一步优化,步骤b中,所述预先配置的配置文件中包括:作业任务产生的时
间间隔、各种资源请求性能瓶颈阈值、测试报告联系人的信息。
作为进一步优化,步骤b中,所述各种资源请求性能瓶颈阈值通过以下方式设置:
由研发人员根据网站服务的预估PV值,结合服务器自身带宽来估算系统需要的最
低请求而设置各种请求的性能指标。
作为进一步优化,步骤c中,所述作业任务通过JAMon获取网页数据,从而读取网站
的性能监控数据。
作为进一步优化,步骤d中,对读取的网站的性能监控数据进行逐一分析,具体包
括:
首先对监控数据进行分类:即判断监控数据为关于静态文件的数据,还是关于动
态资源的数据,还是关于数据库的数据;
然后将分类的监控数据与其对应类型的瓶颈阈值进行比较,判断是否高于阈值:
即将关于静态文件的监控数据与请求访问静态文件对应的瓶颈阈值进行比较,将关于动态
资源的监控数据与请求访问动态资源对应的瓶颈阈值进行比较,将关于数据库的监控数据
与请求数据库查询对应的瓶颈阈值进行比较;这里所述的瓶颈阈值均为时间阈值;
最后将高于瓶颈阈值的监控数据保存在XML文件中。
作为进一步优化,步骤e中,所述作业调度平台将分析结果通过预先配置的邮件或
者短信发送给测试报告联系人。
本发明的有益效果是:能够自动获取该网站提供的所有服务的性能参数,一旦发
现提供的服务性能要求超过系统要求的阀值,能够自动收集并通过邮件或者短信的方式通
知开发人员或者测试人员,让开发和测试人员能够能快速的定位整个网站的性能瓶颈点。
附图说明
图1为本发明实施例中的自动监控网站服务性能流程图。
具体实施方式
本发明旨在提出一种基于JAMon自动化网站服务性能监控方法,解决传统技术中
对网站服务性能监控方案存在的需要花费大量时间和人力成本的问题。本发明通过JAMon
获取整个网站的性能参数,然后通过Java后台作业读取网站的性能监控数据,通过把监控
数据分类,然后分别比较预设各种分类请求性能参数指标,逐一自动筛选每一条检测数据,
然后把不满足性能要求的数据整理出来,待一轮任务后,可以通过邮件或者短信方式通知
开发人员和测试人员。
作为一种实施例,如图1所示,图1中的各个序号均对应一个流程步骤,说明如下
表:
其实现流程可以概括为:
a.通过JAMon获取网站各种资源访问的性能参数;
b.作业调度平台自动读取预先设置的配置文件进行相关配置;
c.作业调度平台通过产生作业任务读取网站的性能监控数据;
d.作业任务对读取的网站的性能监控数据进行逐一分析,并将分析结果回传调度
平台;
e.作业调度平台将分析结果发送给测试报告联系人。
在具体实施上,JAMon作为系统拦截器,通过配置JAMon到我们的Web工程中,能让
JAMon拦截系统中三类请求的性能指标:1、拦截系统中所有静态文件的请求访问的时间;2、
拦截系统中所有动态资源的请求的时间;3、拦截系统所有数据库SQL查询的时间,之所以拦
截这三类请求,是因为拦截到的这三类性能指标已经能够能从横向(数据库层和系统逻辑
层)和纵向(静态内容访问和动态内容访问)完全反应出系统的性能情况,JAMon拦截到的数
据最终将以HTML表格形式把监控数据返回给用户。
在进行网站监控之前,研发人员可以根据网站服务的预估PV值,结合服务器本身
的带宽来估算系统需要的最低请求而设置各种请求的性能指标:如系统支撑100用户的并
发访问,平均的文件请求大小为100K,带宽为10M,那么我每个请求的时间不能超过1S,通过
这种算法,我们会对JAMon系统监控的三种请求分别设定最小阀值,如静态文件请求的时间
不能超过500MS,动态请求的时间不能超过500MS,数据库查询的时间不能超过50MS,然后把
这些参数配置存放到XML中,供自动化分析程序调用。
在配置完成后,就可以实现Java后台自动化获取和分析JAMon监控数据作业,通过
作业不断的去获取并解析的各种性能网页监控数据,然后和性能参数进行比较逐一排查和
筛选其中不符合性能要求的请求,记录并保存到XML文件中,后台作业也可以通过配置实现
作业的定制化要求,如后台作业的启动时间(即间隔多久启动后台作业)。
因为JAMon提供的是表格数据,所以后台作业在启动后会逐行去获取每一行,每一
个列的数据,如果判断这行数据是关于静态文件的,就会和静态文件的阀值进行比较,如果
发现这行数据是关于数据库的,就会和数据库查询的阀值进行比较,以此类推,从而获取所
有高于阀值的数据并保存到XML文件中。
最后将测试结果根据预先配置的测试报告发送方式发送给联系人,如果采用的是
邮件发送测试报告,在邮件会把测试报告的XML数据作为附件一同发给测试报告联系人,如
果是短信方式,就直接通过短信网关告知测试报告联系人有测试性能问题。