jmeter php网站,jmeter实战之phpwind随机回帖/发帖

关键词:jmeter phpwind 性能测试

一、性能需求

1)性能需求:30min内,phpwind随机回帖/发帖,观察服务器性能的表现。

2)需求分析:

2.1 核心业务

论坛系统的核心业务主要是登录、看帖、发帖、回帖,业务建模时应考虑覆盖

2.2构造数据

30min分钟持续回帖、发帖,为了满足真实性,应用不同的账号实现。建议使用存储过程构造数据

2.3 模拟真实场景

I)插入固定定时器,模拟真实场景,这里统一设为3秒

II)登录使用csv数据文件设置,读取不同的账号

III)随机进入版块,随机进入帖子,使用正则表达式提取器提取,并随机取值

IV)进入到帖子后,发帖或回帖的随机性,使用__Random函数实现

V)发帖验证码,回帖验证码,退出码等使用正则表达式提取器提取

VI)因发新贴后,退出账号后会返回新贴页面,所以使用正则表达式提取器提取新帖子id

二、业务建模

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

bdc889969e94

未命名文件 (8).png

三、测试环境

phpwind 7.3.2

jmeter 5.1

fiddler 5.0

四、脚本优化

1)jmeter 目录树如图

bdc889969e94

image.png

2)HTTP Cookie管理器

此元件必须加,否则会报错,且勾选反复清除Cookies,保证用不同的账号进行测试。

bdc889969e94

image.png

3)查看结果树和聚合报告用来核对测试结果

bdc889969e94

image.png

bdc889969e94

image.png

4)登录请求

登录请求的入参是application/x-www-form-urlencoded,需额外发送这个请求头。

bdc889969e94

image.png

使用txt文件读取不同测试账号(需提前构造数据)

bdc889969e94

image.png

5)登录后跳转首页

进入首页后,关联fid,随机取值。

bdc889969e94

image.png

登录成功后,关联到退出码,方便后面退出

bdc889969e94

image.png

6)进入版块

进入版块后,关联tid,随机取值

bdc889969e94

image.png

7)进入到发帖页面

关联发帖验证码

bdc889969e94

image.png

8)发帖

发帖后,关键到新帖子编号

bdc889969e94

image.png

9)进入回帖页面

关联回帖验证码

bdc889969e94

image.png

其它的sampler比较简单,不做截图!!!

五、跑场景,收集性能数据

脚本优化完成后,跑场景,收集性能数据并分析。

1)由于性能需求并没有告诉我们要完成的业务总量,可采取逐步加压的方式,找到30min内服务器可以承受的最大并发数

2)服务器CPU和内存通过 PerfMon Metrics Collector插件获取

PS:容易入坑的地方

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

bdc889969e94

image.png

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

bdc889969e94

image.png

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

提取fid:

提取退出码:

提取tid:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

restful api php,RestfulAPI · ThinkPHP6.0接口开发与应用及uniapp快速入门(更新完毕) · 看云...

# Restful API>[success]Restful API是目前Web API 设计中比较流行的一种设计风格。## Restful API>[info]RESTful是一种软件架构风格、设计风格,而**不是**标准,只是提供了一组设计原则和约束条件。>[danger]对于这种风格,ThinkPHP…

php 向服务器发放请求,PHP客户端向服务器端发送请求并向远程服务器发送服务器端请求...

我的方案如下:>单击按钮时,客户端将向服务器端发送请求>一旦服务器端收到请求,它将向远程服务器发送另一个请求以获得结果>一旦响应到来,服务器端应该回应客户端的响应.客户$.post(login_server.php{act:"post",phone:phone,passwords:passwords…

php检查在线用户,php – 检查用户是否在线laravel

我有列last_activity,其中写入日期最后一个活动用户使用中间件.我如何检查在线用户以及何时注销?中间件:class LastActivityUser{/*** Handle an incoming request.** param \Illuminate\Http\Request $request* param \Closure $next* return mixed*/pu…

java 写文件缓存,java泛型实现文件缓存

package joyport.hbase;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.HashMap;/*** 文件缓存读写** author xiepengjoyport.com*/public class…

java方法重载的意义,java方法重载

class ChongZai{public void a(int a);public void a(Strting a);public void a(int a,int b);}如上就是一个重载了 而重载要满足一下条件:1.必须是同一个类2.方法名(也可以叫函数)一样3.参数类型不一样或参数数量不一样重载的作用:还是以上面的例子ChongZai cz new…

php7改进,关注一下:PHP 7.3.7 正式发布 改进、修复的地方不少哦

PHP 7.3.7正式发布了。PHP(PHP:Hypertext Preprocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理动态网页,也包含了命令列执行接口(command line interface),或者产生图形使用者接口(GUI)程式。版本主要还是修复 bug&…

matlab光学教程,基于MATLAB的物理光学仿真

摘要:利用MATLAB编程语言对典型物理光学实验进行了仿真模拟,制作了包括干涉、衍射、信息光学、晶体光学实验在内的光学实验仿真平台,可应用到光学理论和实验教学中,使整个抽象的物理过程变得直观形象,增强了学生的学习…

php jwt token刷新方案,laravel JWT自动刷新 自定义验证器

在前面的文章中,我们引入了JWT的验证方式,但是在前面并没有做过多的处理,只是用JWT生成了一个token,那么今天来就解决后续问题为了保证用户信息的安全, 我们的生成的JWT不可能一直有效,我们在配置文件里边配…

php orm 链式,关于php:雄辩的ORM中的交叉和分页

大家好,我有3张桌子:具有以下属性的名为content的表:idnametable_type_idrelease_datepopularity另一个名为content_genres的表,具有以下属性:content_idgenres_id另一个具有以下属性的表,称为genres&#…

2019java形势,2019Java开发还有哪些发展

相信已经有不少人在心里考虑着春节之后转行新工作了吧,而在众多行业中IT行业,特别是Java开发、Java程序员等岗位相信是很多人的首选。谁让现在程序员薪资这么高呢,但是现在互联网发展迅速,各类编程语言层出不穷,比如py…

php取消转译代码,PHP在我不需要的时候进行转义

我有一个问题,即PHP在我不希望它出现在代码中的地方进行转义:$url_ stripslashes(((substr(strtolower($url),0,7)!"http://")? "http://".$url:$url));$host $this->googleDomains[mt_rand(0,count($this->googleDomains)-1)];$target "/s…

matlab给plc发送命令,想学习下如何将PLC发送的指令让软件接收到?

PLC作为下位机,接收上位机的执行命令,并将执行结果反馈给上位机。工具/原料电脑、PLC、USB转RS232数据线和RS232转RS485模块(或者USB转RS485)方法/步骤PLC与电脑线路连接,根据电脑的串口情况,1.电脑自带RS232串口,那么…

mysql允许两个用户远程连接,配置MySQL服务允许用户远程连接

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。一、修改/etc/mysql/my.conf找到bind-address 127.0.0.1这一行改为bind-address 0.0.0.0即可二、为需要远程登录的用户赋予权限1、新建用户远程连接…

pupload 文件分块 php,基于Plupload实现Base64分割的文件上传方案

标题:基于Plupload实现Base64分割的文件上传方案关键词:文件上传、Base64、Plupload、Blob、分割上传领域:Web前端作者:孙振强日期:2018-04-13目录背景存在问题2.1. 体积增加1/32.2. 大文件上传不稳定方案思路3.1. 将服…

php imagick手册,PHP中使用Imagick实现各种图片效果实例

这篇文章主要介绍了PHP中使用Imagick实现各种图片效果实例,本文讲解了偏置图像、改变图片大imagick是一个功能强大的图像处理库。说是翻译 其实就是简要介绍imagick 的主要功能的或者说是我觉得比较实用的功能函数的介绍 以及使用的例子。因为本人的英语水平有限,所…

php流程控制的类型有哪些,流程控制包括哪些内容

流程控制也称为控制流程,是计算机运算领域的用语,其内容包括在程序运行时,个别的指令或是陈述、子程序运行或求值的顺序,不论是在声明式编程语言或是函数编程语言中,都有类似的概念。控制流程(也称为流程控制)是计算机…

PHP公鸡五文钱,公鸡

中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?实现过程&#…

oracle11g创建闪回分区多大,Oracle闪回区大小预估

一个朋友问如何设置Oracle闪回区大小,有什么依据没有。查证官方文档,有如下描述For example, if you intend to setDB_FLASHBACK_RETENTION_TARGET to 24 hours, and if the database generates 20 GB of redo in a day, then a rule of thumb is to all…

平方变换法提取载波MATLAB,毕业设计(论文)MPSK信号的载波同步算法研究与仿真.doc...

目录摘要IAbstractII第一章 绪论1相移键控技术1第二章 载波同步原理22.1平方变换法和平方环法22.2 同相正交3第三章 相移键控(PSK)信号的调制原理63.1 二进制相移键控的基本原理63.2 二进制差分相移键控(DPSK)的基本原理83.3 多进制相移键控(MPSK)的基本原理113.3.1 QPSK调制原…

oracle dba_waiters中的lockid是什么,查杀oracle lock session and table

查杀oracle 死锁的一些帖子摘录[more]查找死锁进程column sid format 999;column b format 9;column object_name format a30;select v$lock.sid,decode(v$lock.type,MR, Media Recovery,RT,Redo Thread,UN,User Name,TX, Transaction,TM, DML,UL, PL/SQL User Lock,DX, Distri…