首页 > 其他分享 >自己编写高负荷测试的工具

自己编写高负荷测试的工具

时间:2023-01-19 11:03:19浏览次数:42  
标签:include int argv 高负荷 initbytenum 测试 printf 编写 argc


       最近一个项目,客户要求进行高负荷测试;所谓高负荷测试时看系统在CPU占用或MEM占用率极高情况下的表现。

       在第一轮测试时,我们通过在LINUX操作系统上,用压缩和解压缩的方法去占用CPU,这样的方法有个弊端,就是比较耗时而且不可控。

在这样的测试情况下,客户非常不满意。提出了很多的问题。

       还要客户给了第二轮测试的机会,然后我就通过百度或谷歌,寻找高负荷测试的工具。结果一无所获。我后来想做为一个程序员,是否可以自己动手写一个这样的程序呢?

通过分析原理,占用CPU,就是让CPU可劲的进行运算;占用MEM,就是申请内存BUFFER。 分析出这个原理后,接下来的事情,就简单了。

       我设计的占用CPU的程序具体如下:

      

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc,char ** argv)
{
int looptimes;
float a,b,c;
int i;
a = 1000000.0;
b = 8765.0;
i = 1;
looptimes = atoi(argv[1]);
while(1)
{
c = a / b;
i ++;
if((i % looptimes) == 0)
{
usleep(100);
}
}
//printf("argc=%d\n",argc);
//printf("argv=%s\n",*argv++);
//printf("argv=%s\n",*argv);
//argc=2
//argv=./occu
//argv=100
return 0;
}

 

我设计的占用MEM的代码具体如下:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc,char ** argv)
{
unsigned int initbytenum;
void * buf;
initbytenum = atoi(argv[1]);
initbytenum = 1024 * 1024 * initbytenum;
printf("initbytenum=%ld\n",initbytenum);
buf = malloc(initbytenum);
memset(buf,0, initbytenum);
int a;
a=0;
int t;
t =1;
while(a!=9)
{
if(t % 100 == 0)
{
scanf("%d",&a);
t =1;
}
t++;
buf = malloc(initbytenum);
memset(buf,0, initbytenum);
}
//printf("argc=%d\n",argc);
//printf("argv=%s\n",*argv++);
//printf("argv=%s\n",*argv);
//argc=2
//argv=./occu
//argv=100
return 0;
}

 

 

   

标签:include,int,argv,高负荷,initbytenum,测试,printf,编写,argc
From: https://blog.51cto.com/u_15942605/6019945

相关文章

  • Pytest - 测试用例管理及运行管理
    目录跳过测试用例@pytest.mark.skip装饰器跳过测试用例常用的标记有以下几种:skip:只有当某些条件满足时,才执行测试用例,否则跳过整个测试用例的执行xfail:因为一个确切......
  • 使用cat命令注意事项,提前测试一下文件大小,否则size太大,会卡在终端或者命令行
      此.dbf文件大小太大,导致cat一直在输出,只有退出终端解决问题,cat应该要注意这个问题 ......
  • 合宙ESP32S3 CameraWebServe 测试demo
    合宙ESP32S3CameraWebServe合宙ESP32S3CameraWebServe测试,我们需要一个OV2640的摄像头模组用来采集图像传输给ESP32的,这里使用的OV2640是之前安信可十周年的白嫖的。现......
  • 使用 Burpsuite 测试的常用操作(一)
    大家好啊,我是大田。今天分享一下Burpsuite在工作中常用操作,本文先说说其中两个操作。一、了解一下Burpsuite做什么1、Burpsuite是一个黑客工具、安全测试工具、半......
  • 请不要再说NIO和多路复用IO是同一个东西了(内含BIO、NIO、多路复用、Netty、AIO案例测
    文章目录​​一、写在最前面​​​​1、误区​​​​2、IO模型分类​​​​3、概念再梳理(重点)​​​​二、BIO(BlockingIO)​​​​1、客户端​​​​2、服务端​​​​3、效......
  • 揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!​
    ​2019年12月20日,是美国波音公司新一代载人飞船Starliner“星际客机”,执行第一次飞行测试任务的重要日。按计划飞船在本次无人试飞中将与国际空间站对接,为宇航员送上圣诞礼......
  • 性能测试指标推算及压测示例
    性能测试指标推算及压测示例根据提测范围、业务需求推算性能需求和指标(如事务数、并发数等),然后写脚本时可根据此模拟线程数和约束条件,最后执行压测、监控服务器资源、分析......
  • 双网卡网线连接自环测试方法
    背景:如图PC上有两个网卡,eth0和eth1,以网线互联,如有想要在PC上运行iperf3既作为server端又作为client端,进行性能测试(需要报文外发走网线),有什么办法呢?通常情况下,由于路由是......
  • 如何保证测试质量
    1.不同的测试类型的结合,功能,性能,兼容性等,增加测试覆盖面,确保测试质量。2.熟悉测试需求,测试目标,理解需求,设计测试用例。3.用例的质量,对被测对象深入分析,功能进行细分,需求覆......
  • windows电脑如何给苹果手机安装测试包
    windows电脑需要下载的软件软件下载爱思助手下载注意:下载windows版,如下:至于app的安装就下一步下一步即可手机和电脑的连接拿一根苹果数据线,一个苹果手机,手......