一种内存压力测试时自动分配最佳线程数的方法与流程

文档序号:35971697发布日期:2023-11-09 12:25阅读:60来源:国知局
一种内存压力测试时自动分配最佳线程数的方法与流程

本发明涉及计算机领域,具体是一种内存压力测试时自动分配最佳线程数的方法。


背景技术:

1、内存压力测试时,往往测试范围需要覆盖所有内存存储空间。为节约时间,同时充分利用cpu资源,会采取多线程测试的方式。但覆盖所有内存存储空间的压力测试本身会占用大量内存,只能分配极其有限的内存资源用于其他活动。若设置的线程过多,会导致空余内存不足,产生部分线程下的数据日志为空,甚至不生成对应线程数据文件的现象,导致测试结果无效。若线程太少,又会导致测试时间过长,影响测试进度。

2、人工调整线程数往往是根据经验进行,难以一步到位确认出既能产生有效结果,又能保证最短测试时间的线程数。

3、因此需要解决以下问题:

4、1)测试时能够自动对线程数进行优化,使相应线程数下的测试结果正确、有效。

5、2)线程数在保证测试结果正确有效的前提下,应满足效率最高,消耗时间最短。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提供一种内存压力测试时自动分配最佳线程数的方法,包括如下步骤:

2、步骤一,根据预设条件得到初始线程数;所述的预设条件包括读取内存数,内存数与线程数1比1对应;

3、步骤二,将得到的初始线程数作为为测试线程,并开始进行测试,每次测试完成后,通过脚本读取相应文件夹下的日志文件,根据每个线程对应的数据日志文件的状态,采取二分法增减线程数,直到得到能够产生正确日志文件数的最大线程数量;

4、步骤三,在日志文件都存在的最大线程数基础上,通过脚本抓取日志数据关键字判断每个数据日志文件内容是否都正常,若均正常,则当前线程数为最佳线程数;若日志内容不正常,则进入步骤四;

5、步骤四,返回步骤二增减线程数,继续进行测试,直到能够产生正确日志文件数且每个日志内容正常,则此时的线程数即为最佳线程数,测试前的线程初始化完成。

6、进一步的,所述的线程初始化,是将待测内存通过内存压力测试工具得到能够产生有效数据的最大线程数;包括:根据内存数量估算得到初始线程数,根据初始线程数,进行后续测试,满足生成正确日志文件数且日志文件内容也正确的最大线程数即是最佳线程数。

7、进一步的,所述的每次测试完成后,通过脚本读取相应文件夹下的日志文件,根据每个线程对应的数据日志文件的状态,采取二分法增减线程数,直到得到能够产生正确日志文件数的线程数量,包括:通过脚本读取相应文件夹下的日志文件,判断每个线程对应的数据日志文件是否都存在:若第1次结果日志文件都存在,增加到2倍线程;若第1次结果有日志文件不存在,减少到1/2线程;根据新的线程数进行测试,然后再次判断日志文件是否都存在;都存在则增加线程,不都存在则减少线程;增加或减少的线程数△n为上一次线程数增减量△n-1的一半,即△n = (△n-1)/2。若二分过程中出现线程数为奇数,且二分还未结束,则加1或减1成为偶数后再进行二分。

8、进一步的,所述的在日志文件都存在的最大线程数基础上,通过脚本抓取日志数据关键字判断每个数据日志文件内容是否都正常,若均正常,则当前线程数为最佳线程数,包括:在日志文件都存在的最大线程数的条件下,若日志内容均正常,则直接选取当前线程数作为最佳线程数,即最佳线程数为能够产生正确日志文件数的最大线程数量。

9、进一步的,所述的返回步骤二增减线程数,继续进行测试,直到能够产生正确日志文件数且每个日志内容正常,则此时的线程数即为最佳线程数,包括:

10、若存在日志内容不正常,则采取二分法,先减少线程,然后再返回步骤二根据结果增减线程数,继续进行测试,直到即能够产生正确日志文件数,又能保证每个日志内容正常,此时的线程数即为最佳线程数,完成测试。

11、本发明的有益效果是: 通过本发明所提供的技术方案,可以实现充分调用测试系统资源,保证测试压力和测试有效性、正确性的同时,以最高效率最短时间完成测试。



技术特征:

1.一种内存压力测试时自动分配最佳线程数的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种内存压力测试时自动分配最佳线程数的方法,其特征在于,所述的线程初始化,是将待测内存通过内存压力测试工具得到能够产生有效数据的最大线程数,包括:根据内存数量估算得到初始线程数,根据初始线程数,进行后续测试,满足生成正确日志文件数且日志文件内容正常的最大线程数即是最佳线程数。

3.根据权利要求1所述的一种内存压力测试时自动分配最佳线程数的方法,其特征在于,所述的每次测试完成后,通过脚本读取相应文件夹下的日志文件,根据每个线程对应的数据日志文件的状态,采取二分法增减线程数,直到得到能够产生正确日志文件数的线程数量,包括:通过脚本读取相应文件夹下的日志文件,判断每个线程对应的数据日志文件是否都存在:若第1次结果日志文件都存在,增加到2倍线程;若第1次结果有日志文件不存在,减少到1/2线程;根据新的线程数进行测试,然后再次判断日志文件是否都存在;都存在则增加线程,不都存在则减少线程;增加或减少的线程数△n为上一次线程数增减量△n-1的一半,即△n = (△n-1)/2。

4.根据权利要求1所述的一种内存压力测试时自动分配最佳线程数的方法,其特征在于,所述的在日志文件都存在的最大线程数基础上,通过脚本抓取日志数据关键字判断每个数据日志文件内容是否都正常,若均正常,则当前线程数为最佳线程数,包括:若日志内容均正常,则直接选取当前线程数作为最佳线程数,即最佳线程数为能够产生正确日志文件数的最大线程数量。

5.根据权利要求4所述的一种内存压力测试时自动分配最佳线程数的方法,其特征在于,所述的返回步骤二增减线程数,继续进行测试,直到能够产生正确日志文件数且每个日志内容正常,则此时的线程数即为最佳线程数,包括:


技术总结
本发明涉及计算机领域,公开了一种内存压力测试时自动分配最佳线程数的方法,包括:根据预先设置的原则和逻辑自动确认初始线程数;每次测试完成后,通过脚本读取相应文件夹下的日志文件,采取二分法增减线程数,直到得到能够产生正确日志文件数的线程数量;在日志文件都存在的线程数基础上,通过脚本抓取日志数据关键字判断每个数据日志文件内容是否都正常,若均正常,则当前线程数为最佳线程数;若日志内容不正常,继续进行测试,直到能够产生正确日志文件数且每个日志内容正常,则此时的线程数即为最佳线程数。然后利用初始化获取的最佳线程数进行正式测试。通过本发明,可以实现充分调用测试系统资源,保证测试压力和测试有效性、正确性。

技术研发人员:向哲爽
受保护的技术使用者:四川华鲲振宇智能科技有限责任公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1