服务器性能压力测试的测试数据实时监控方法与流程

文档序号:19786584发布日期:2020-01-24 13:39阅读:1070来源:国知局
服务器性能压力测试的测试数据实时监控方法与流程

本发明属于压力测试技术领域,尤其涉及一种服务器性能压力测试的测试数据实时监控方法。



背景技术:

现今互联网已经进入超大规模时代,无论从用户量,还是流量角度,都已经达到一个新的规模。而互联网时代的一个基础模式就是b/s架构,浏览器和服务端,都是通过http(s)接口方式访问数据。一些新起的能力,如rpc(远程过程调用)等,也使用http(s)作为承载协议。

服务端http(s)接口的承载能力,必然备受考验。对于这些接口的性能压力测试需求,也越来越受到重视,测试需求量也与日俱增。

目前,通常在压力测试完成后由测试人员根据测试数据编写测试报告,无法在压力测试过程中实时地对测试数据进行监控,无法及时发现问题和性能瓶颈。其中,测试数据包括加压数据以及被测服务器的资源占用数据,加压数据包括在线用户数、压测时长、预期每秒请求数qps以及响应校验错误数据等,资源占用数据包括响应耗时数据、cpu使用率数据、内存使用率数据以及网络i/o数据等。



技术实现要素:

基于此,针对上述技术问题,提供一种服务器性能压力测试的测试数据实时监控方法。

为解决上述技术问题,本发明采用如下技术方案:

一种服务器性能压力测试的测试数据实时监控方法,包括:

在对目标服务器进行性能压力测试时,发压端将目标服务器的地址信息发送给监控服务器;

所述监控服务器实时采集各服务器的资源占用数据,并根据所述地址信息获得所述目标服务器的资源占用数据,同时实时从所述发压端获得加压数据;

所述监控服务器根据获得的资源占用数据以及加压数据通过可视化监控指标展示工具形成实时更新的多个数据监控图;

所述发压端从所述监控服务器同步所述多个数据监控图进行展示。

所述多个数据监控图分别为预期每秒请求数qps监控图、响应耗时监控图、在线用户量监控图、错误率监控图、cpu使用率监控图、内存使用率监控图以及网络i/o监控图。

所述发压端在同一个页面上关联展示所述多个数据监控图。

所述监控服务器实时采集各服务器的资源占用数据包括:

预先在所述各服务器上为自动化运维工具添加公钥授权,通过所述自动化运维工具在所述各服务器上部署进程管理工具、服务发现工具以及采集器;

由所述采集器实时采集相应服务器的资源占用数据,并通过进程管理工具对所述采集器的进程进行监护;

通过服务发现工具将所述采集器的服务端口和存活状态上报给所述监控服务器上的监控系统,所述监控系统根据所述服务端口和存活状态从相应的采集器拉取相应服务器的资源占用数据。

所述自动化运维工具采用ansible,所述进程管理工具采用supervisor,所述服务发现工具采用consul,所述采集器采用exporters,所述可视化监控指标展示工具采用grafana。

所述发压端包括web前端以及web后端;

所述web前端提供第一界面,用于供用户向所述web后端添加服务器的地址信息;所述web前端提供第二界面,用于在对所述目标服务器进行性能压力测试时,从所述web后端获取各服务器列表并以下拉菜单的方式展示供用户选择;对来自所述web后端的所述多个数据监控图进行展示;

所述web后端保存用户从所述第一界面添加的服务器的地址信息;在用户从所述第二界面选择服务器后,所述web后端将被选择服务器的地址信息发送给监控服务器;在向被选择服务器发压过程中,实时将加压数据发送给所述监控服务器,并从所述监控服务器同步所述多个数据监控图并发送给所述web前端。

本发明可以在压力测试过程中实时地对测试数据进行监控,使用户可以实时监控各方面指标,从而及时发现问题和性能瓶颈。

附图说明

下面结合附图和具体实施方式本发明进行详细说明:

图1为本发明的流程图;

图2为本发明的发压端对多个数据监控图进行展示的示意图;

图3为本发明的第一界面的示意图;

图4为本发明的第二界面的示意图。

具体实施方式

如图1所示,一种服务器性能压力测试的测试数据实时监控方法,包括:

s101、在对目标服务器进行性能压力测试时,发压端将目标服务器的地址信息发送给监控服务器。地址信息为ip地址。

s102、监控服务器实时采集各服务器的资源占用数据,并根据上述地址信息获得目标服务器的资源占用数据,同时实时从上述发压端获得加压数据。

s103、监控服务器根据获得的资源占用数据以及加压数据通过可视化监控指标展示工具形成实时更新的多个数据监控图。

s104、发压端从监控服务器同步多个数据监控图进行展示。

本发明可以在压力测试过程中实时的对测试数据进行监控,使用户可以实时监控各方面指标,从而及时发现问题和性能瓶颈。

其中,多个数据监控图分别为预期每秒请求数qps监控图、响应耗时监控图、在线用户量监控图、错误率监控图、cpu使用率监控图、内存使用率监控图以及网络i/o监控图,上述监控图均以时间为x轴,其中错误率监控图通过响应校验错误数据,响应校验错误数据有两类:发压端会接收目标服务器的响应数据,从中提取状态码,把不是200的状态码(200代表请求成功)都发送给监控服务器;从响应数据中提取不符合预期的字段发送给监控服务器。

在本实施例中,如图2所示,发压端在同一个页面上关联展示上述多个数据监控图,实现多维度监控,进一步利于及时发现、定位和解决问题。关联展示是指用户移动鼠标时,多个监控图的曲线上相关联的点会反映出来。

具体地,步骤s102中监控服务器实时采集各服务器的资源占用数据进一步包括:

1、预先在各服务器上为自动化运维工具添加公钥授权,通过自动化运维工具在上述各服务器上部署进程管理工具、服务发现工具以及采集器。

2、由采集器实时采集相应服务器的资源占用数据,并通过进程管理工具对采集器的进程进行监护,使采集器能持续不断的进行采集。

3、通过服务发现工具将采集器的服务端口和存活状态上报给监控服务器上的监控系统,监控系统根据服务端口和存活状态从相应的采集器拉取相应服务器的资源占用数据,最终提供给可视化监控指标展示工具。

上述方式屏蔽了监控服务背后的复杂架构,仅需要使用人员进行熟练操作即可。

在本实施例中,自动化运维工具采用ansible,进程管理工具采用supervisor,服务发现工具采用consul,采集器采用exporters,可视化监控指标展示工具采用grafana。

在本实施例中,发压端包括web前端以及web后端。

web前端技术实现:

a、提供第一界面,用于供用户向web后端添加服务器的地址信息以及相应的描述信息,参见图3。

b、提供第二界面,用于在对目标服务器进行性能压力测试时,从web后端获取各服务器列表并以下拉菜单的方式展示供用户选择。

在本实施例中,如图4所示,第二界面即为创建压力测试的界面,在该界面中用户可以对加压数据进行配置,同时对服务器(图中表示为压测服务器)进行选择。加压数据配置完成后发送给web后端,web后端根据加压数据对目标服务器进行发压。

c、对来自web后端的多个数据监控图进行展示。

web后端技术实现:

a、保存用户从第一界面添加的服务器的地址信息以及描述信息。

b、在用户从第二界面选择服务器后,将被选择服务器的地址信息发送给监控服务器。

c、在向被选择服务器发压过程中,实时将加压数据发送给监控服务器,并从监控服务器同步多个数据监控图并发送给web前端。加压数据需要灌入influxdb数据库中,再提供给grafana。

但是,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1