基于 JMeter 实现 WEB 项目性能测试,环境搭建与测试用例编写

news/2024/10/20 20:38:23/

目录

 前言:

一、JDK 安装

二、Tomcat 安装

三、Redis 安装

四、数据库安装

五、WEB 项目搭建

六、性能测试项目搭建

七、总结


 前言:

性能测试是软件开发中必不可少的一环,它可以帮助开发者提高程序的稳定性,优化性能,尽早发现漏洞等。本篇文章将介绍如何搭建一个性能测试环境来测试 WEB 项目的性能。

一、JDK 安装

首先,我们需要安装 JDK。在 Linux 环境中,可以使用下面的命令进行安装:

sudo apt-get update 
sudo apt-get install -y openjdk-8-jdk

安装完成后,使用以下命令检查是否安装成功:

java -version

如果可以看到类似下面的输出:

openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

就说明安装成功了。

二、Tomcat 安装

接下来,我们要安装 Tomcat。Tomcat 是一个常用的 Java Web 应用服务器,我们可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install -y tomcat9

安装完成后,使用以下命令检查是否安装成功:

sudo systemctl status tomcat9

如果可以看到类似下面的输出:

● tomcat9.service - Apache Tomcat 9 Web ServerLoaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)Drop-In: /etc/systemd/system/tomcat9.service.d└─override.confActive: active (running) since Sat 2023-05-25 03:45:19 UTC; 20min agoDocs: https://tomcat.apache.org/tomcat-9.0-doc/index.htmlMain PID: 17065 (java)Tasks: 38 (limit: 4915)CGroup: /system.slice/tomcat9.service└─17065 /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/usr/share/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx128M -XX:+UseConcMarkSweepGC -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat9 -Dcatalina.home=/usr/share/tomcat9 -Djava.io.tmpdir=/usr/share/tomcat9/temp org.apache.catalina.startup.Bootstrap startMay 25 03:45:19 localhost systemd[1]: Started Apache Tomcat 9 Web Server.

就说明安装成功了。

三、Redis 安装

Redis 是一款开源的高性能键值存储系统。我们可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install -y redis

安装完成后,使用以下命令检查是否安装成功:

redis-cli ping

如果可以看到输出:

PONG

说明安装成功了。

四、数据库安装

我们可以使用 MongoDB 作为数据库。可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install -y mongodb

安装完成后,使用以下命令检查是否安装成功:

sudo systemctl status mongodb

如果可以看到类似下面的输出:

● mongodb.service - MongoDB Database ServerLoaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)Active: active (running) since Sat 2023-05-25 03:45:33 UTC; 28min agoDocs: https://docs.mongodb.com/manualMain PID: 17118 (mongod)Tasks: 23 (limit: 4915)CGroup: /system.slice/mongodb.service└─17118 /usr/bin/mongod --config /etc/mongodb.conf

就说明安装成功了。注意:MongoDB 默认启动是没有开启认证功能的。

五、WEB 项目搭建

在进行性能测试时,我们需要一个能够提供静态和动态页面的 Web 项目。这里我们使用一个简单的 Spring Boot 项目作为例子。首先,我们需要安装 Maven:

sudo apt-get update
sudo apt-get install -y maven

安装完成后,我们可以使用以下命令生成一个简单的 Spring Boot 项目:

mvn archetype:generate -DgroupId=com.example -DartifactId=demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

生成项目后,我们需要在 pom.xml 中引入 Spring Boot 的依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.4.5</version>
</dependency>

接下来,我们需要在 Application 类中编写一个简单的控制器:

@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, World!";}
}

最后,我们可以使用以下命令运行该项目:

mvn spring-boot:run

运行成功后,可以在浏览器中访问 `http://localhost:8080/hello` 查看结果。

六、性能测试项目搭建

接下来,我们需要编写一个性能测试项目。在性能测试项目中,我们通常会编写一系列测试用例,用于测试系统的稳定性和性能。这里,我们使用 JMeter 编写一个简单的测试用例。

首先,我们需要安装 JMeter:

sudo apt-get update
sudo apt-get install -y jmeter

安装完成后,我们可以使用以下命令启动 JMeter:

jmeter

启动后,我们需要添加一个线程组。在左侧的面板中找到并点击“线程组”节点,然后点击“添加”按钮。在弹出的对话框中,我们可以设置参数,例如线程数、循环次数等。

接下来,我们需要添加一个 HTTP 请求。在左侧的面板中找到并点击“HTTP 请求”节点,然后在右侧的面板中设置参数,例如 HTTP 请求的 URL 等。

最后,我们需要为测试用例添加一个结果收集器。在左侧的面板中找到并点击“查看结果树”节点,然后点击“添加”按钮,选择“Summary Report”,并在右侧的面板中设置参数。

设置完成后,我们可以点击“运行”按钮,启动测试用例。

七、总结

本篇文章介绍了如何搭建一个性能测试环境来测试 Web 项目的性能。我们先安装了 JDK、Tomcat、Redis 和 MongoDB,然后在这个环境中搭建了一个简单的 Spring Boot 项目,并编写了一个基于 JMeter 的测试用例。通过这篇文章,读者可以了解到如何构建一个基本的性能测试环境以及如何编写一个简单的测试用例。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些性能测试前进之路的必须品,希望能对你带来帮助。(性能测试,大厂面试真题、简历模板等等)。
【测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=MyTLBK9pZ74qgHUVVZfITmBhScUS5qPC&authKey=hUGxEWvPxbiSTszm1V9wE6Z%2FFpVNEdf%2BzEe4UXSvDPN8LPV5WcLAO%2BQ0RLX5tKCR&noverify=0&group_code=574737577

 


http://www.ppmy.cn/news/90016.html

相关文章

简单易懂:Ajax入门实例详解(登录功能)

前言&#xff1a;不积跬步无以至千里&#xff0c;不积小流无以成江河&#xff01; 废话不多&#xff0c;以最简练的语言和实例初步了解Ajax&#xff01; 一、Ajax简介 Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;是一种基于Web技术的编程实现方式&#xff0c…

anr log打印流程---Java层

前言 本问介绍一下anr之后&#xff0c;系统打印log的流程。加深对anr问题的理解。 anr触发原理分析可以看看这个文章http://gityuan.com/2017/01/01/input-anr/ cpp代码比较多&#xff0c;我选择放弃了。从java层log往后看吧。。。 ANR Log anr触发在native层&#xff0c;…

11-FastDFS文件服务器 和 Nginx

1、什么是FastDFS 1、开源的轻量级分布式文件系统,用于解决大数据量存储和负载均衡等问题。 2、优点: 支持HTTP协议传输文件(结合Nginx); 对文件内容做Hash处理,节约磁盘空间; 支持负载均衡、整体性能较佳。 3、FastDFS的二个角色:跟踪服务器(Tracker)、存储服务器…

ApplicationRunner使用

本文来说下CommandLineRunner和ApplicationRunner的使用 文章目录 ApplicationRunner使用示例程序结果 CommandLineRunner使用示例程序结果 ApplicationListener触发时机使用实例程序结果注意问题 ApplicationRunner 使用起来很简单&#xff0c;只需要实现CommandLineRunner或者…

第三十四回:AlertDialog Widget

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Dismissible Widget相关的内容,本章回中将介绍 AlertDialog Widget.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们介绍的AlertDialog是指程序中弹出的确认窗口&#xff0c;其实我们在上一章回中删…

网易易盾流量多发反外挂落地实践

背景及目的 环境迁移 反外挂服务建德机房线上迁移&#xff0c;采取的方案是&#xff1a;建德机房独立部署一套完整的集群&#xff0c;统一经由完整的性能测试、故障演练、功能回归后&#xff0c;通过线上分阶段切换流量的方式来切服务。QA 需要比对验证 2 个不同环境下核心接口…

多目标遗传算法NSGA-II改进策略

上篇写道了关于多目标遗传算法NSGA-II原理详解及算法代码实现&#xff0c;本文将继续在这篇文章的基础上更深一步的向前探索&#xff0c;探索方向为&#xff1a; 基于NSGA-II算法的固有缺点&#xff0c;着重对其算法提出改进策略&#xff0c;并予以代码实现。同样&#xff0c;本…

1112 Stucked Keyboard (PAT甲级)

写完后看柳婼的解法&#xff0c;其实可以直接数重复了几次&#xff0c;我这个写法有点复杂化了。 原代码&#xff1a; #include <iostream> #include <string> #include <set>int main(){int k, j;bool flag;std::set<char> st, printed;std::string…