• 自己编写高负荷測试的工具


           近期一个项目,客户要求进行高负荷測试;所谓高负荷測试时看系统在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
    ",argc);
       //printf("argv=%s
    ",*argv++);
       //printf("argv=%s
    ",*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
    ",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
    ",argc);
       //printf("argv=%s
    ",*argv++);
       //printf("argv=%s
    ",*argv);
       //argc=2
       //argv=./occu
       //argv=100 
       return 0;
    }


     

       

  • 相关阅读:
    WPF中各个Template的分析(转)
    WPF TreeView
    微信支付文章综合
    WPF 颜色渐变
    史上最全的厦门英语角!赶紧收藏啦!
    SQL008存储过程总结
    SQL SERVER事务处理
    HTTP 头部解释
    为你详细解读HTTP请求头的具体含意
    IIS部署常见问题总结
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/3997172.html
Copyright © 2020-2023  润新知