技术新讯 > 电子通信装置的制造及其应用技术 > 一种通过代理方式实现curl请求并发的测试方法与流程  >  正文

一种通过代理方式实现curl请求并发的测试方法与流程

  • 国知局
  • 2024-08-02 12:45:34

本发明涉及自动化测试,尤其涉及一种通过代理方式实现curl请求并发的测试方法。

背景技术:

1、cdn调度的目标是通过各种策略将客户端请求调度到合理的目标机房,以达到成本和质量的最佳控制,调度形式一般有以下几种:dns调度、http dns调度、302调度和路由调度等,为了实现这一目标,cdn调度通常考虑以下几个因素:

2、距离:选择距离用户最近的服务器节点,以减少数据传输的延迟和响应时间。

3、带宽和负载:根据服务器节点的带宽和当前负载情况,选择可提供稳定和高速的服务器节点。

4、网络状况:根据网络拓扑和实时网络状况,选择具有良好网络连接和较低丢包率的服务器节点。

5、客户端特征:根据客户端的设备类型、操作系统和网络连接情况,选择最适合的服务器节点,以提供最佳的兼容性和性能。

6、缓存策略:根据内容的热度和更新频率,选择适当的缓存策略,以减少网络流量和提高访问速度。

7、cdn调度系统通常会综合考虑上述因素,并使用算法和策略来动态选择最佳的服务器节点。这样可以确保用户能够以最快速度获取所需的内容,并减轻网络负载,提高整体的性能和可靠性。

8、302调度是一种重定向策略,用于处理客户端请求的流量分发。当客户端向cdn请求资源时,cdn会根据调度策略、调出比例、权重等规则判断该资源服务的最佳边缘节点,并将客户端重定向到其他边缘节点,为了验证调度结果的准确性,需要还原真实环境中的大规模访问场景,并通过构造多种规则组合的业务场景发送大量的请求来验证最终响应是否符合预期,评估系统是否能够准确、高效地处理这些请求,因此,我们需要模拟客户的请求,通过自动化脚本或者工具将其发送到302调度系统,由于此类请求是通过curl命令发送的,在测试过程中,首先需要进行远程连接虚拟机的操作。然后,通过python线程池实现并发执行curl命令,以获取全部的响应结果,并进行进一步的分析。然而,现有的方案存在以下缺点:远程连接稳定性无法保障,存在连接不上或在连接后由于网络原因导致断开的情况,这将严重影响自动化用例的执行效率和稳定性;自动化用例编写过程中,需要多次调试以完善测试数据及明确断言结果,频繁远程连接将直接降低工作效率;无法保证远程连接的安全性,容易泄露敏感信息。

9、鉴于上述缺陷,提出一种通过代理方式实现curl请求并发的测试方法。

技术实现思路

1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

2、鉴于上述的问题,提出了本发明。

3、为解决上述技术问题,本发明提供如下技术方案:一种通过代理方式实现curl请求并发的测试方法,包括:

4、s1,启动302调度系统,准备测试数据;

5、s2,在虚拟机上进行curl请求响应的测试;

6、s3,设置代理,封装http请求;

7、s4,创建线程池,将封装好的http请求提交到需要执行任务的线程池中,等待执行结果并返回;

8、s5,根据请求结果,提取测试需要的相关数据,对测试结果进行统计和分析,并计算调度比例。

9、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:s3和s4具体为构造大批量http请求并通过设置代理的方式发送请求。

10、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:所述http请求包括v4请求和v6请求。

11、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:所述v4请求和v6请求均至少为1000个。

12、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中,测试方法还包括:

13、s7,增加并发数,观察大批量的并发请求时,302调度系统服务正常,机器的cpu、磁盘、io等指标正常。

14、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:所述大批量http请求至少为1000个。

15、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:所述http请求的url具体根据当前时间与当前uri编号实时生成。

16、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:s5中所述相关数据具体为返回结果中对应的头部信息和返回结果中的ip列表。

17、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中,s5中所述对测试结果进行统计和分析具体为:根据头部信息校验头部业务标识是否正确,校验ip总数是否正确。

18、作为本发明所述一种通过代理方式实现curl请求并发的测试方法的一种优选方案,其中:s5中计算调度比例具体为计算不同响应ip的比例。

19、本发明的有益效果:

20、1、通过设置代理,将curl命令发送的请求转换为http代理请求,使用线程池实现http请求并发,现有技术使用远程连接方式,通过curl命令发起http请求,需要保持远程连接持续在线,但容易受网络质量影响,中途断开,与现有技术相比,该技术方案极大地缩短了大批量请求执行的时长,提高了自动化脚本的稳定性和执行效率,同时降低了测试人员的工作量和成本投入,进一步节约人力成本。

21、2、该技术方案省去了远程连接机器的步骤,无需在代码中提供账号密码以登录机器,从而避免了敏感信息的泄露,提升了自动化的安全性。

技术特征:

1.一种通过代理方式实现curl请求并发的测试方法,其特征在于,包括:

2.根据权利要求1所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:s3和s4具体为构造大批量http请求通过设置代理的方式发送请求。

3.根据权利要求2所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:所述http请求包括v4请求和v6请求。

4.根据权利要求3所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:所述v4请求和v6请求均至少为1000个。

5.根据权利要求4所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于,测试方法还包括:

6.根据权利要求2所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:所述大批量http请求至少为1000个。

7.根据权利要求5或6所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:所述http请求的url具体根据当前时间与当前uri编号实时生成。

8.根据权利要求7所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:s5中所述相关数据具体为返回结果中对应的头部信息和返回结果中的ip列表。

9.根据权利要求8所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于,s5中所述对测试结果进行统计和分析具体为:根据头部信息校验头部业务标识是否正确,校验ip总数是否正确。

10.根据权利要求9所述的一种通过代理方式实现curl请求并发的测试方法,其特征在于:s5中计算调度比例具体为计算不同响应ip的比例。

技术总结本发明公开了一种通过代理方式实现curl请求并发的测试方法,包括:启动302调度系统并准备测试数据、在虚拟机上进行curl请求响应的测试、设置代理并封装http请求、创建线程池并将封装好的http请求提交到需要执行任务的线程池中、等待执行结果并返回、根据请求结果提取测试需要的相关数据、对测试结果进行统计和分析并计算调度比例,其有益效果为:与现有技术相比,该技术方案极大地缩短了大批量请求执行的时长,提高了自动化脚本的稳定性和执行效率,同时降低了测试人员的工作量和成本投入,进一步节约人力成本,该技术方案省去了远程连接机器的步骤,无需在代码中提供账号密码以登录机器,从而避免了敏感信息的泄露,提升了自动化的安全性。技术研发人员:易巧静,马伟龙,邹海霞,黄雨纯,凌国辉受保护的技术使用者:天翼云科技有限公司技术研发日:技术公布日:2024/8/1

本文地址:https://www.jishuxx.com/zhuanli/20240802/237673.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。