1.jmeter安装
2.数据库的压力测试
3. ftp服务器的压力测试
4. sftp的压力测试(缺)
5.http请求的压力测试
6. socket的压力测试
7.邮件服务器测试
7.1基于命令行
7.2基于界面
8.元件介绍
9.1线程组
9.2控制器
9.3 监听器
9.4定时器
9.5执行顺序
5.http请求的压力测试(此篇部分参考百度文库)
(1)添加线程组
(5)选择可视化界面中左边树中的“测试计划”节点,点击“编辑”菜单---> “添 加”--->”线程组”,添加一”线程组”后,“测试计划”节点下多了“线程组” 节点
(2)添加HTTP请求默认值(用来配置公共参数,不是http请求)
通过下面的步骤来设置HTTP请求默认值:
1.选中可视化界面中左边树的“线程组”节点,单击右键,选择“添加”—〉 “配置元件”—〉“HTTP请求默认值”,点击“HTTP请求默认值”后可视 化界面中左边树的“线程组”节点下多了“HTTP请求默认值”节点。
2. 设置“HTTP请求默认值”的主要参数:
服务器名称或IP:被测试服务器的ip地址或者名字。在这里设置为 192.168.10.91
端口号:服务器的端口号,192.168.10.91机器上的Websphere端口号为9080, 在这设置为9080
协议:发送测试请求时使用的协议,CSP接受的是http请求
路径:servlet的路径。因为性能测试用的servlet是CSPReqServletTest ,所 以路径设置为/csp/CSPReqServletTest
设置后的屏幕截图如下:
(3)添加HTTP请求
设置HTTP请求:
1.选中可视化界面中左边树的“线程组”,单击右键,选择“添加”—〉 “Sample”—〉“HTTP请求”,点击“HTTP请求”后可视化界面中左边树 的“线程组”节点下多了“HTTP请求”节点,如下图:
2. 设置“HTTP请求”的主要参数:
方法:选择POST
post方式可以进行参数的添加,对服务器端发送参数。
(4)添加监听器
1.选中可视化界面中左边树的“线程组”节点,单击右键,选择“添加”—〉 “监听器”—〉“用表格查看结果”,点击“用表格查看结果”后可视化界面 中左边树的“线程组”节点下多了“用表格查看结果”节点
2. 设置“用表格查看结果”的主要参数:
Configure:点击“Configure”按钮,在弹出的窗口中选中“Save Response Data” 项,以保存响应数据,如下图:
文件名:在“文件名”处填写文件的地址和名称,以保存相关的数据。在此 填写为“F:\线程组.jmx”如下图:
(5)点击视图中的“运行”测试即可。
6.socket的压力测试
(1)socket测试需要写一个测试jar包。
首先创建一个工程,导入lib\ext\ApacheJMeter_core.jar,ApacheJMeter_java.jar
然后创建下面的代码:(IP和端口可以根据自己的需要修改)
-
import org.apache.jmeter.config.Arguments;
-
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
-
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
-
import org.apache.jmeter.samplers.SampleResult;
-
-
import java.io.BufferedReader;
-
import java.io.InputStreamReader;
-
import java.io.PrintWriter;
-
import java.net.*;
-
-
/**
-
*
-
* @author howsky
-
*
-
*/
-
public
class Test extends AbstractJavaSamplerClient {
-
// Sock begin----------------------------------------------
-
private Socket sid;
-
private PrintWriter out;
-
private BufferedReader in;
-
private String ip;
-
private String port;
-
// Sock end------------------------------------------------
-
-
private
static String label =
"howsky.net";
-
-
// 测试结果
-
private SampleResult sr;
-
-
/**
-
* 初始化
-
*/
-
public void setupTest(JavaSamplerContext arg0) {
-
System.out.println(
"setupTest");
-
}
-
-
/**
-
* 设置请求的参数
-
*/
-
public Arguments getDefaultParameters() {
-
Arguments params =
new Arguments();
-
params.addArgument(
"ip",
"127.0.0.1");
-
params.addArgument(
"port",
"8888");
-
return params;
-
}
-
-
/**
-
* 运行过程
-
*/
-
public SampleResult runTest(JavaSamplerContext arg0) {
-
ip = arg0.getParameter(
"ip");
-
port = arg0.getParameter(
"port");
-
sr =
new SampleResult();
-
sr.setSampleLabel(label);
-
try{
-
sr.sampleStart();
//记录程序执行时间,以及执行结果
-
//发送数据
-
String msg =
"welcome to howsky.net";
-
System.out.println(
"begin");
-
sendMsg(ip, Integer.parseInt(port), msg);
-
sr.setSuccessful(
true);
-
System.out.println(
"end");
-
}
catch(Throwable e){
-
sr.setSuccessful(
false);
-
}
finally{
-
sr.sampleEnd();
-
}
-
return sr;
-
}
-
-
/**
-
* 结束
-
*/
-
public void teardownTest(JavaSamplerContext arg0) {
-
}
-
-
/**
-
* 发送消息
-
* @param ip
-
* @param port
-
* @param msg
-
* @throws Exception
-
*/
-
private void sendMsg(String ip, int port, String msg) throws Exception{
-
sid =
new Socket(ip, port);
-
in =
new BufferedReader(
new InputStreamReader(sid.getInputStream()));
-
out =
new PrintWriter(sid.getOutputStream(),
true);
-
out.println(msg);
-
in.readLine();
-
System.out.println(
"success");
-
}
-
}
接着点击项目右键Export->jar file->命名.jar
最后将jar包放到lib\ext\下,启动JMeter。
(2)写socket服务器端代码如下:
-
public
class SocketSer
-
{
-
public static void main(String[] args)
-
{
-
ServerSocket ss=
null;
-
OutputStream os=
null;
-
try {
-
ss =
new ServerSocket(
8888);
-
while(
true){
-
Socket s=ss.accept();
-
String ip=s.getInetAddress().getHostName();
-
os=s.getOutputStream();
-
os.write(
"ServerSocket回复请求".getBytes());
-
os.flush();
-
s.close();
-
System.out.println(ip+
"---"+
new String(
"^_^成功完成一次请求"));
-
}
-
}
catch (IOException e) {
-
e.printStackTrace();
-
}
finally{
-
try {
-
os.close();
-
}
catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
-
}
-
//a574258039的博客
然后调用该段代码。
(3)JMeter中创建线程组。设置线程数,Ramp-up Period,循环次数。
(4)JMeter中创建java请求默认值,如图:
然后选择要测试的类:如图
(5)JMeter中创建java请求:
配置基本和java请求默认值一样。
如图:
(6)创建监听:查看结果树
结果如下:
命令行输出:

本文详细介绍使用JMeter进行性能测试的全过程,包括安装配置、HTTP请求、socket测试等,涵盖线程组、监听器等关键组件的设置与应用。

3792

被折叠的 条评论
为什么被折叠?



