移动性能测试 testerhome 性能测试 (直播贴)

心向东 · February 18, 2016 · Last by 百度MTC replied at May 12, 2016 · 1587 hits

昨天恒温说让做一下testerhome的性能测试,那么我们就开始吧

首先在做脚本之前我们先拟定一下用户的行为模型(随便定的不要较真):

业务 比例
用户访问首页 30%
用户查看某个帖子 30%
用户查看发帖人信息 30%
用户搜索帖子 10%

有了用户模型那么我们就开始做脚本吧,我这里用loadrunner做脚本:


Action()
{
lr_start_transaction("首页");
web_reg_find("Search=Body",
"Text=/account/sign_in",
LAST);
web_url("testerhome",
"URL=https://testerhome.com/",
"Referer=https://testerhome.com/",
"Snapshot=t1.inf",
"Mode=HTML",
LAST );
lr_end_transaction("首页", LR_AUTO);
lr_start_transaction("查看帖子");
web_reg_save_param("author",
"LB=<a href=\"/",
"RB=\"><img class=\"media-object avatar-48\"",
"Search=Body",
LAST);
web_url("testerhome",
"URL=https://testerhome.com/topics/{topic}",
"Resource=0",
"Referer=https://testerhome.com/",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);
lr_end_transaction("查看帖子", LR_AUTO);
lr_start_transaction("查看作者");
web_reg_find("Search=Body",
"Text=class=\"counter\"",
LAST);
web_url("author",
"URL=https://testerhome.com/{author}",
"Resource=0",
"Referer=https://testerhome.com/topics/{topic}",
"Snapshot=t3.inf",
"Mode=HTML",
LAST);
lr_end_transaction("查看作者", LR_AUTO);
lr_start_transaction("搜索");
web_reg_find("Search=Body",
"Text=class=\"panel-heading clearfix\"",
LAST);
web_url("testerhome",
"URL=https://testerhome.com/search?q={search}",
"Resource=0",
"Referer=",
"Snapshot=t4.inf",
"Mode=HTML",
LAST);
lr_end_transaction("搜索", LR_AUTO);
return 0;
}

写好后立马跑了一下发现怎么报错了

原来是有些帖子 因为历史原因 不能查看.好吧那么我就处理下我的数据
怎么处理呢?
一开始我打算写个脚本来一点点筛选可用的topic数据的,但是跑的好慢啊,最后决定还是用controller跑数据吧.

脚本

PS:在调用函数后面添加lr_output_message 是为了筛选出可用的topic数据,不然测试结果中一堆404 500 很难确认问题.

Action()
{
web_url("testerhome",
"URL=https://testerhome.com/topics/{topic}",
"Resource=0",
"Referer=https://testerhome.com/",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);
lr_output_message( "#%s", lr_eval_string( "{topic}" ) );
return 0;
}

脚本数据设置(unique 每个用户分配100条数据,准备跑40个用户,这样就能很快的筛选出前4000个主题中可用的topic了):

然后我们设置controller:

runtime-setting(有些设置是为了能跑的更快):



OK 准备工作OK了,我们就开始跑吧.
过了3分多钟结果就出来了,好多404和500,管理员到底删了多少帖子啊😰


我们要的数据也从controller中导出来了:

稍作处理数据就可以用了:

哦,顺便说下搜索 我差不多做了20个左右的常用关键词

顺便在准备数据的时候还有个插曲,testerhome 竟然挂了😰,应该不是我弄挂的吧.....

看了下时间已经0:08了,该睡觉了,明天继续吧

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 12 条回复 时间 点赞

刚注册就赶上直播啊 火速围观

前排围观

不错,很好的一篇通俗易懂的文章!

4Floor has been deleted

那些不能访问的帖子估计是testerhome上的首个id发的大量的文章. 那个id是我的. 后来我把那个id删除了. 是从数据库里面直接删除的, ruby-china的代码在遇到帖子的作者id不存在的时候会报一个错误.

#5楼 @seveniruby 我把第一个id 改成我的啦~

#6楼 @lihuazhang 改成一个无关的id吧. 那个id发的帖子太多. 会影响算分的.

#7楼 @seveniruby 没关系。不会影响积分。。

因为发的是接口数据. 没有走js解析. 所以google analyse的结果不受影响. 数据不变. 所以统计的流量没有什么异常.

#8楼 @lihuazhang 恩. 从13年10月才算是testerhome的新生.

东哥威武。。

学习了

13Floor has been deleted
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up