美文网首页
jmeter实战之phpwind随机回帖/发帖

jmeter实战之phpwind随机回帖/发帖

作者: 行水坐云 | 来源:发表于2019-10-24 17:16 被阅读0次

    关键词:jmeter phpwind 性能测试
    一、性能需求
    1)性能需求:30min内,phpwind随机回帖/发帖,观察服务器性能的表现。
    2)需求分析:
    2.1 核心业务
    论坛系统的核心业务主要是登录、看帖、发帖、回帖,业务建模时应考虑覆盖
    2.2构造数据
    30min分钟持续回帖、发帖,为了满足真实性,应用不同的账号实现。建议使用存储过程构造数据
    2.3 模拟真实场景
    I)插入固定定时器,模拟真实场景,这里统一设为3秒
    II)登录使用csv数据文件设置,读取不同的账号
    III)随机进入版块,随机进入帖子,使用正则表达式提取器提取,并随机取值
    IV)进入到帖子后,发帖或回帖的随机性,使用__Random函数实现
    V)发帖验证码,回帖验证码,退出码等使用正则表达式提取器提取
    VI)因发新贴后,退出账号后会返回新贴页面,所以使用正则表达式提取器提取新帖子id

    二、业务建模
    此业务建模场景要覆盖登录、看帖、发帖、回帖等核心业务。详细见以下流程图。

    未命名文件 (8).png

    三、测试环境
    phpwind 7.3.2
    jmeter 5.1
    fiddler 5.0

    四、脚本优化
    1)jmeter 目录树如图

    image.png
    2)HTTP Cookie管理器
    此元件必须加,否则会报错,且勾选反复清除Cookies,保证用不同的账号进行测试。
    image.png
    3)查看结果树和聚合报告用来核对测试结果
    image.png
    image.png
    4)登录请求
    登录请求的入参是application/x-www-form-urlencoded,需额外发送这个请求头。
    image.png
    使用txt文件读取不同测试账号(需提前构造数据)
    image.png
    5)登录后跳转首页
    进入首页后,关联fid,随机取值。
    image.png
    登录成功后,关联到退出码,方便后面退出
    image.png
    6)进入版块
    进入版块后,关联tid,随机取值
    image.png
    7)进入到发帖页面
    关联发帖验证码
    image.png
    8)发帖
    发帖后,关键到新帖子编号
    image.png
    9)进入回帖页面
    关联回帖验证码
    image.png
    其它的sampler比较简单,不做截图!!!

    五、跑场景,收集性能数据
    脚本优化完成后,跑场景,收集性能数据并分析。
    1)由于性能需求并没有告诉我们要完成的业务总量,可采取逐步加压的方式,找到30min内服务器可以承受的最大并发数
    2)服务器CPU和内存通过 PerfMon Metrics Collector插件获取

    PS:容易入坑的地方
    1.badboy 2.2.5录制脚本,在写发帖内容的时候,老是报错。后改为fiddler抓包处理

    image.png
    fiddler默认不支持导出jmx,需单独下载插件
    image.png

    2.正则表达式提取器中的表达式 问号 需加反斜杠

    提取fid:       
    <a href="thread.php\?fid=([0-9]*)" id=
    提取退出码:     
    <a href="login.php\?action=quit&verify=(.*)">退出</a>
    提取tid:       
    <a href="read.php\?tid=([0-9]*)" id=
    提取发帖后新tid:
    <a href="read.php\?tid=([0-9]*)">
    

    3.发帖或者回帖的post请求,Content-Type是
    multipart/form-data; boundary=----WebKitFormBoundaryXck7JmniiyCfrAzB。
    特别是boundary,这个是post入参之间的分割线,不能缺少,否则会提示非法操作。这个boundary可以使用fiddler抓取的值。


    image.png

    4.在发帖或者回帖的时候,如果需要输入汉字,需指明编码格式


    image.png

    相关文章

      网友评论

          本文标题:jmeter实战之phpwind随机回帖/发帖

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