The present invention relates to a method and device for simulating a software performance test, which comprises the following steps: user configuration configuration information storage structure to simulate the body to create a file; simulation of shared memory, the structure files stored in a shared memory; reading and parsing the file structure, get the speed value, create a number of simulation test process; in each test process were simulated to create the predetermined number of Zi Xiancheng, each thread according to the configuration information simulation executing user request request execution of business documents, generate simulated business return data, executing the simulation destroy business documents thread; every predetermined time in each test process in the simulation of creating a new thread; storage simulation business return data and a statistical simulation business return data. The invention adopts the multi process and multi thread architecture, reasonably allocates resources, ensures the pressure load of each process is reasonable, and each process simulates only the small frequency rate model, and the robustness can be improved.
【技术实现步骤摘要】
一种软件性能测试模拟方法及装置
本专利技术涉及一种软件性能测试模型,特别涉及一种软件性能测试模拟方法及装置。
技术介绍
对于软件产品性能测试模拟速率方法,适用其经典的场景为:例如12306定时开始的订票服务,从某个时间点,用户数快速持续增长。其造成被测服务端CPU、内存、网络或数据库资源的急剧消耗,对被测软件架构也是巨大的考验。在此测试场景下模拟用户行为最重要的是负载速率模型的准确性和稳定性。其中如何使用尽量少的计算机,平稳、准确的模拟用户每秒增加的操作行为成为行业难题。计算机硬件配置越来越高,可供程序分配的资源越来越多,而进程是可分配硬件资源的最小单位,多进程可尽量多的分配到硬件资源,模拟高速率场景下多进程具有技术优势。操作系统在内存保护模式下运行,进程拥有独立的逻辑内存空间,多进程互相之间不能直接访问。而现存的免费性能测试工具都使用单进程架构。无法充分申请硬件资源,单机模拟用户的速率数容易达到上限,且高速率时CPU时间片分配不足,运行精度低。在面临每秒高频率N个用户请求增加的场景下,定时器精度需小于1/N秒,而CPU时间片被大量分配给用户业务操作,造成定时器精度失效,在长时间运行情况下,失效的时间叠加,造成测试精度降低,测试结果不可信。而使用触发器同样面临以上问题。此专利技术采用多进程方式将高速率分解,每个进程只负责“低”速率提高了稳定性,解决了进程之间通讯的问题,通过互斥体和定时器技术结合的方式,解决了速率发送不稳定的问题,可用来模拟用户速率增加场景。与之类似的有Linux平台的HTTPL0AD。手工测试:开发人员和客户只能依靠尽量多的测试机 ...
【技术保护点】
一种软件性能测试的模拟方法,其特征在于,包括以下步骤:步骤1:将用户配置的配置信息存储于模拟的结构体文件中;步骤2:创建模拟的共享内存,将所述结构体文件存储于共享内存中;步骤3:读取存储于共享内存中的结构体文件,解析结构体文件,得到速率值,创建多个模拟的测试进程,为模拟的每个预定数量的用户请求分配一个测试进程,所述测试进程的数量为所述速率值与所述预定数量的比值;步骤4:在每个所述测试进程中分别模拟创建所述预定数量的子线程,每个子线程对应处理一个用户请求,每个子线程根据所述配置信息模拟执行用户请求请求执行的业务文件,生成模拟的业务返回数据,模拟销毁执行完业务文件子线程,返回模拟的业务返回数据;步骤5:每隔预定的时间,在每个测试进程中模拟创建新的子线程;步骤6:存储模拟的业务返回数据并统计模拟的业务返回数据。
【技术特征摘要】
1.一种软件性能测试的模拟方法,其特征在于,包括以下步骤: 步骤1:将用户配置的配置信息存储于模拟的结构体文件中; 步骤2:创建模拟的共享内存,将所述结构体文件存储于共享内存中; 步骤3:读取存储于共享内存中的结构体文件,解析结构体文件,得到速率值,创建多个模拟的测试进程,为模拟的每个预定数量的用户请求分配一个测试进程,所述测试进程的数量为所述速率值与所述预定数量的比值; 步骤4:在每个所述测试进程中分别模拟创建所述预定数量的子线程,每个子线程对应处理一个用户请求,每个子线程根据所述配置信息模拟执行用户请求请求执行的业务文件,生成模拟的业务返回数据,模拟销毁执行完业务文件子线程,返回模拟的业务返回数据; 步骤5:每隔预定的时间,在每个测试进程中模拟创建新的子线程; 步骤6:存储模拟的业务返回数据并统计模拟的业务返回数据。2.根据权利要求1所述的软件性能测试模拟方法,其特征在于:所述步骤5进一步包括:创建模拟的定时器和模拟的互斥体,模拟运行互斥体和定时器,互斥体保持锁定状态与解锁状态交替进行,所述锁定状态和解锁状态的时间长度均为定时器设定的时间,在互斥体处于解锁状态时,在测试进程的存储空间中创建新的子线程,直到互斥体达到结束条件时,结束互斥体。3.根据权利要求1至2中任一所述的软件性能测试模拟方法,其特征在于:所述业务文件内部包括用于进行初始化的初始化函数文件,用于根据用户请求进行功能模拟的功能函数文件,和用于释放系统资源的结束函数文件。4.一种软件性能测试模拟装置,其特征在于:包括存储模块(I ),创建模块(2),读取模块(3 ),执行模块(4 )和统计模块(5 ); 所述存储模块(I ),用于将用户配置的配置信息存储于模拟的结构体文件中,将结构体文件发送给创建模块(2...
【专利技术属性】
技术研发人员:衣安平,杨光宇,孙一铭,刘初阳,
申请(专利权)人:烟台中科网络技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。