目录
前言:
一、JDK 安装
二、Tomcat 安装
三、Redis 安装
四、数据库安装
五、WEB 项目搭建
六、性能测试项目搭建
七、总结
性能测试是软件开发中必不可少的一环,它可以帮助开发者提高程序的稳定性,优化性能,尽早发现漏洞等。本篇文章将介绍如何搭建一个性能测试环境来测试 WEB 项目的性能。
首先,我们需要安装 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 是一个常用的 Java Web 应用服务器,我们可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install -y tomcat9
安装完成后,使用以下命令检查是否安装成功:
sudo systemctl status tomcat9
如果可以看到类似下面的输出:
● tomcat9.service - Apache Tomcat 9 Web Server
Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/tomcat9.service.d
└─override.conf
Active: active (running) since Sat 2023-05-25 03:45:19 UTC; 20min ago
Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
Main 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 start
May 25 03:45:19 localhost systemd[1]: Started Apache Tomcat 9 Web Server.
就说明安装成功了。
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 Server
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2023-05-25 03:45:33 UTC; 28min ago
Docs: https://docs.mongodb.com/manual
Main PID: 17118 (mongod)
Tasks: 23 (limit: 4915)
CGroup: /system.slice/mongodb.service
└─17118 /usr/bin/mongod --config /etc/mongodb.conf
就说明安装成功了。注意:MongoDB 默认启动是没有开启认证功能的。
在进行性能测试时,我们需要一个能够提供静态和动态页面的 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 的依赖:
org.springframework.boot
spring-boot-starter-web
2.4.5
接下来,我们需要在 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