一种压测方法及装置制造方法及图纸

技术编号:38011953 阅读:8 留言:0更新日期:2023-06-30 10:33
本申请实施例提供了一种压测方法及压测装置,该方法包括接收压测请求,压测请求包括待压测对象,压测请求由终端通过抓包代理连接服务器后发送,服务器为安装有抓包工具且开启抓包代理的服务器,抓包工具写有预设的压测脚本,压测脚本包括request方法,request方法用于多线程请求待压测对象,抓包代理用于使抓包工具接收待压测对象;通过抓包工具对待压测对象进行压测。通过本申请实施例的方案,可以进行多线程的自动压测,无需对压测脚本进行特殊处理,降低压测难度和人力成本,提高压测的灵活性。活性。活性。

【技术实现步骤摘要】
一种压测方法及装置


[0001]本申请涉及互联网测试
,尤其涉及一种压测方法及装置。

技术介绍

[0002]压测指的是压力测试,一般是指在服务器上进行压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。一个应用程序(Application,APP)通常有许多个接口,如果要对APP接口进行压测,目前比较常见的是开发人员和运维人员协调配合进行压测。但是如果碰到一些需要进行身份验证的APP接口,开发人员和运维人员需要对原有的压测代码进行特殊处理。特殊处理即对原有的压测代码进行修改,使之直接跳过身份验证这一步骤。如此一来,对APP接口进行压测所耗费的人力成本是很高的。

技术实现思路

[0003]有鉴于此,本申请的目的在于提供了一种压测方法及装置,以降低压测时的人力成本,提高压测的灵活性,其具体技术方案如下:
[0004]第一方面,本申请提供了一种压测方法,所述方法包括:
[0005]接收压测请求,所述压测请求包括待压测对象,所述压测请求由终端通过抓包代理连接服务器后发送,所述服务器为安装有抓包工具且开启抓包代理的服务器,所述抓包工具写有预设的压测脚本,所述压测脚本包括request方法,所述request方法用于多线程请求待压测对象,所述抓包代理用于使所述抓包工具接收所述待压测对象;
[0006]通过所述抓包工具对所述待压测对象进行压测。
[0007]在一种可能的实现方式中,在所述接收压测请求之前,所述方法还包括:
[0008]在所述服务器上安装所述抓包工具;
[0009]将预设的压测脚本写入所述抓包工具;
[0010]在所述服务器上执行启动命令,开启抓包代理。
[0011]在一种可能的实现方式中,所述通过所述抓包工具对所述待压测对象进行压测,包括:
[0012]利用所述压测脚本中的defrequest()方法,获取所述待压测对象的参数信息;
[0013]根据所述待压测对象的参数信息,利用所述压测脚本中的defthread_run()方法,多线程请求所述待压测对象。
[0014]在一种可能的实现方式中,在所述多线程请求所述待压测对象之后,所述通过所述抓包工具对所述待压测对象进行压测还包括:
[0015]利用所述压测脚本中的defresponse()方法,获取所述待压测对象的压测结果。
[0016]在一种可能的实现方式中,所述压测请求还包括线程需求个数,所述通过所述抓包工具对所述待压测对象进行压测,包括:
[0017]根据所述线程需求个数,修改所述压测脚本中的defthread_run()方法;
[0018]利用所述压测脚本中的defrequest()方法,获取所述待压测对象的参数信息;
[0019]根据所述待压测对象的参数信息,利用修改后的defthread_run()方法,多线程请求所述待压测对象。
[0020]第二方面,本申请还提供了一种压测装置,所述装置包括:
[0021]接收模块,用于接收压测请求,所述压测请求包括待压测对象,所述压测请求由终端通过抓包代理连接服务器后发送,所述服务器为安装有抓包工具且开启抓包代理的服务器,所述抓包工具写有预设的压测脚本,所述压测脚本包括request方法,所述request方法用于多线程请求待压测对象,所述抓包代理用于使所述抓包工具接收所述待压测对象;
[0022]压测模块,用于通过所述抓包工具对所述待压测对象进行压测。
[0023]在一种可能的实现方式中,所述装置还包括:
[0024]安装模块,用于在所述服务器上安装所述抓包工具;
[0025]写模块,用于将预设的压测脚本写入所述抓包工具;
[0026]执行模块,用于在所述服务器上执行启动命令,开启抓包代理。
[0027]在一种可能的实现方式中,所述压测模块,包括:
[0028]参数获取单元,用于利用所述压测脚本中的defrequest()方法,获取所述待压测对象的参数信息;
[0029]请求单元,用于根据所述待压测对象的参数信息,利用所述压测脚本中的defthread_run()方法,多线程请求所述待压测对象。
[0030]在一种可能的实现方式中,所述压测模块,还包括:
[0031]结果获取单元,用于利用所述压测脚本中的defresponse()方法,获取所述待压测对象的压测结果。
[0032]在一种可能的实现方式中,所述压测请求还包括线程需求个数,所述压测模块,包括:
[0033]修改单元,用于根据所述线程需求个数,修改所述压测脚本中的def thread_run()方法;
[0034]所述参数获取单元,还用于利用所述压测脚本中的defrequest()方法,获取所述待压测对象的参数信息;
[0035]所述请求单元,还用于根据所述待压测对象的参数信息,利用修改后的defthread_run()方法,多线程请求所述待压测对象。
[0036]在本申请实施例中,接收压测请求,压测请求包括待压测对象,压测请求由终端通过抓包代理连接服务器后发送,服务器为安装有抓包工具且开启抓包代理的服务器,抓包工具写有预设的压测脚本,压测脚本包括request方法,request方法用于多线程请求待压测对象,抓包代理用于使抓包工具接收待压测对象;通过抓包工具对待压测对象进行压测。通过本申请实施例的方案,可以进行多线程的自动压测,无需对压测脚本进行特殊处理,降低压测难度和人力成本,提高压测的灵活性。
附图说明
[0037]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1示出了本申请实施例提供的一种压测方法实施例的流程图;
[0039]图2示出了本申请实施例提供的一种终端连接服务器的示意图;
[0040]图3示出了本申请实施例提供的一种当开启3个进程时的进程代码示意图;
[0041]图4示出了本申请实施例提供的一种压测装置的结构示意图。
具体实施方式
[0042]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0043]首先,对本申请实施例中可能出现的一些名词进行解释。
[0044]mitmproxy工具是一个支持超文本传输协议(HTTP,HyperTextTransfer Protocol)和超文本传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种压测方法,其特征在于,所述方法包括:接收压测请求,所述压测请求包括待压测对象,所述压测请求由终端通过抓包代理连接服务器后发送,所述服务器为安装有抓包工具且开启抓包代理的服务器,所述抓包工具写有预设的压测脚本,所述压测脚本包括request方法,所述request方法用于多线程请求待压测对象,所述抓包代理用于使所述抓包工具接收所述待压测对象;通过所述抓包工具对所述待压测对象进行压测。2.根据权利要求1所述的方法,其特征在于,在所述接收压测请求之前,所述方法还包括:在所述服务器上安装所述抓包工具;将预设的压测脚本写入所述抓包工具;在所述服务器上执行启动命令,开启抓包代理。3.根据权利要求1所述的方法,其特征在于,所述通过所述抓包工具对所述待压测对象进行压测,包括:利用所述压测脚本中的defrequest()方法,获取所述待压测对象的参数信息;根据所述待压测对象的参数信息,利用所述压测脚本中的defthread_run()方法,多线程请求所述待压测对象。4.根据权利要求3所述的方法,其特征在于,在所述多线程请求所述待压测对象之后,所述通过所述抓包工具对所述待压测对象进行压测还包括:利用所述压测脚本中的defresponse()方法,获取所述待压测对象的压测结果。5.根据权利要求1所述的方法,其特征在于,所述压测请求还包括线程需求个数,所述通过所述抓包工具对所述待压测对象进行压测,包括:根据所述线程需求个数,修改所述压测脚本中的defthread_run()方法;利用所述压测脚本中的defrequest()方法,获取所述待压测对象的参数信息;根据所述待压测对象的参数信息,利用修改后的defthread_run()方法,多线程请求所述待压测对象。6.一种压测装置,其特征在...

【专利技术属性】
技术研发人员:王强田魁肖海阳吴亚威常庆磊
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1