美文网首页软件测试细说测试软件测试脚本
性能测试实战脚本 | 记录一次服务器端性能测试的通用脚本

性能测试实战脚本 | 记录一次服务器端性能测试的通用脚本

作者: 西边人 | 来源:发表于2018-03-21 15:04 被阅读19次

    业务场景描述

    5000个用户分批次登陆系统,但是要保证登陆的用户中,时刻有一定比例的用户做业务(6%),其他用户登陆后等待;执行完业务的用户进入等待队列,然后从等待队列选取一人继续执行业务,但是要保证时刻有6%的执行业务占比。可以控制总的性能测试执行时间!

    如下编写的场景脚本:

    #include

    #include

    {

    string logger;

    //共享变量,控制业务的起止时间

    shared t_start,t_end;

    int t,t_zong;

    //用于第一组并发用户的判断,同时也把值赋予id_yw;

    shared num_yw,num_yw1;

    //业务组内,每个虚拟用户的id

    int id_yw;

    //下一个操作业务的用户id

    shared id_next,share;

    int num_zong, num_binf;

    //设定wait的等待时间

    int time_out;

    //根据业务所占比重计算,暂时用2,测试取整函数!

    num_zong = _nusers;

    num_binf = (_nusers*3)/10;

    //设定wait的等待时间,越长越好,假若一直没被激活,此时间可以设置为session的失效时间。

    time_out = (_nusers)*3000;

    //t_zong,业务运行时间,暂时根据并发用户计算,1200 60,60,1000

    t_zong = (_nusers)*3000;

    //登录系统,一秒两个用户

    //delay((_uid)*500);

    share = num_binf;

    //开始业务

    num_yw1++;

    id_yw = num_yw1;

    t_start = start_time["yw_time"];

    do{

    num_yw++;

    //第一次发起并发,发起id_yw比较小的(数量为该组需要并发的人数),大于id_yw的用户等待被激活

    if(num_yw > num_binf)

    {

    //此处用户一直在监听,是否被激活,即现有操作人员结束操作后,随机产生的id号是否与自己匹配。如果匹配则开始业务操作,否则继续等待。

    wait(&id_next,id_yw,id_yw,0,time_out);

    if(wait(&id_next,id_yw,id_yw,0,time_out) == 0)

    {

    //break;

    //script_exit("");

    user_exit(-1, "Fatal Error - Aborting");

    }

    //说明:此处判断是否是被正常激活。0为等待超时(非正常激活)。当suite结束时,势必会造成大量的

    //用户非正常激活,从而同时并发下面的业务。所以,此处设置适当延迟,使用户顺序推出。

    //delay(id_yw*10000);

    }

    else

    {

    logger = "the yw is starting.....";

    writelog(logger);

    }

    //else直接往下走。

    //开始操作业务

    //使用delay(8000)模拟业务

    delay(8000);

    //结束操作业务

    t_end = stop_time["yw_time"];

    t = t_end - t_start;

    //业务结束后,在用户组内随机取一个用户id,赋给共享变量next_id

    //id_next = ((rand()) % num_zong )+1;

    share++;

    if(share<=num_zong)

    {

    id_next =share;

    }else{

    share = 1;

    id_next =share;

    }

    }while(t

    }


    混迹在互联网圈的软件测试开发一枚,

    专注软件测试自动化方向,爬虫国内外测试资源,分享给自学爱好者。

    知乎专栏:软件自动化测试共享站 。

    微博:@ 西说测试

    QQ群:330374464 。

    公众号:testpu 。

    头条号:传送

    相关文章

      网友评论

        本文标题:性能测试实战脚本 | 记录一次服务器端性能测试的通用脚本

        本文链接:https://www.haomeiwen.com/subject/ssegqftx.html