JDK、Tomcat、Redis、MySQL がまとめられており、効率的なパフォーマンス テスト プロジェクトを構築する方法を学習できます。

序文:

ソフトウェア エンジニアとして、パフォーマンス テスト プロジェクトの構築方法を知らないはずがありません。ソフトウェアのパフォーマンスはユーザー エクスペリエンスに直接関係しており、ユーザー エクスペリエンスはソフトウェアの成功にとって最も重要な要素であるため、パフォーマンス テストはソフトウェア エンジニアにとって不可欠な部分です。この記事では、JDK、Tomcat、Redis、データベースの構築方法など、パフォーマンス テスト プロジェクトを構築する手順を段階的に説明し、WEB プロジェクトでのパフォーマンス テストにこれらのツールを使用する方法を紹介します。

1.JDKのインストール

JDK のインストールについては誰もがよく知っていると思うので、ここでは多くを述べません。JDK をインストールした後、次のコマンドを使用して、JDK が正常にインストールされたかどうかを確認できます。

$ javac -version

コマンドラインで JDK のバージョン情報が出力された場合は、JDK のインストールが成功したことを意味します。

2.Tomcatのインストール

Tomcat はオープン ソースの Java Web アプリケーション サーバーであり、手動でダウンロードして任意のディレクトリに解凍する必要があります。ここでは `<TOMCAT_HOME>` と呼びます。

$ wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-10/v10.1.0-M3/bin/apache-tomcat-10.1.0-M3.tar.gz
$ tar -xzvf apache-tomcat-10.1.0-M3.tar.gz

Tomcat をインストールしたら、それを構成する必要があります。Tomcat ディレクトリの下の `conf` ディレクトリを開き、`server.xml` ファイルを見つけて、次の内容に編集します。

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<Service name="Catalina">

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

<Engine name="Catalina" defaultHost="localhost">

<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />

</Host>
</Realm>
</Engine>
</Service>
</Server>

この設定ファイルは Tomcat サーバーの起動に使用されます。設定が完了したら、サーバーの起動を試行できます。

$ cd <TOMCAT_HOME>/bin
$ ./startup.sh

上記のコマンドにより、Tomcat サーバーが正常に起動しました。

3. Redis環境の構築

Redis は、データベース、キャッシュ、メッセージ ミドルウェアとして使用できるオープン ソースのメモリ データ構造ストレージ システムです。サーバーに Redis をインストールする必要があります。インストール プロセスは次のとおりです。

$ wget http://download.redis.io/releases/redis-6.2.4.tar.gz
$ tar -xzf redis-6.2.4.tar.gz
$ cd redis-6.2.4
$ make

すべてのコマンドを実行した後にエラーが報告されない場合は、Redis が正常にインストールされたことを意味します。

4. データベースのインストール

ここでは、データベースとして MySQL を選択します。MySQL は、効率的で安定したデータ ストレージを提供できるオープン ソースのリレーショナル データベースです。

まず、MySQL をインストールする必要があります。MySQL のインストール手順は次のとおりです。

$ sudo apt update
$ sudo apt install mysql-server
$ sudo mysql_secure_installation

上記のコマンドは MySQL をインストールし、同時に root ユーザーのパスワードの設定や root リモート ログインの禁止などの基本的なセキュリティ設定を実行します。

また、MySQL でテスト データベースを作成する必要があります。コマンドは次のとおりです。

mysql> CREATE DATABASE testdb;

5.WEBプロジェクト構築

次に、パフォーマンス テスト用の WEB プロジェクトを構築する必要があります。ここでは、Spring Boot フレームワークを使用して、単純な WEB プロジェクトを構築します。Spring Boot プロジェクトの構築プロセスは次のとおりです。

まず、Maven に Spring Boot Starter の依存関係を追加する必要があります。

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

次に、コントローラーを作成する必要があります。以下は単純なコントローラーです。

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import redis.clients.jedis.Jedis;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

@RestController
public class HelloController {

@Autowired
DataSource dataSource;

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

@GetMapping("/mysql")
public String mysql() {
try {
Connection connection = dataSource.getConnection();

PreparedStatement stmt = connection.prepareStatement("SELECT 1");

ResultSet rs = stmt.executeQuery();

rs.close();
stmt.close();
connection.close();

return "MySQL OK";
} catch (SQLException e) {
e.printStackTrace();
return "MySQL Error";
}
}

@GetMapping("/redis")
public String redis() {
Jedis jedis = new Jedis("localhost");
String value = jedis.get("testkey");
jedis.close();
if (value != null) {
return "Redis OK";
} else {
return "Redis Error";
}
}
}

最後に、プロジェクトをパッケージ化して実行する必要があります。

$ mvn package
$ java -jar target/demo-0.0.1-SNAPSHOT.jar

この時点で、WEB プロジェクトが構築されます。

6. 性能試験

次に、構築したパフォーマンス テスト プロジェクトをテストする必要があります。ここでは、ストレス テストに Apache JMeter を使用します。Apache JMeter のインストールのプロセスは次のとおりです。

$ wget https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.4.1.tgz
$ tar -xzvf apache-jmeter-5.4.1.tgz

インストールが完了したら、JMeter を起動できます。

$ /path/to/apache-jmeter-5.4.1/bin/jmeter

JMeter が起動したら、新しいテスト計画を作成する必要があります。

1. 「ファイル -> 新規」をクリックして、新しいテスト計画を作成します。
2. 「テストプラン」を選択し、右側の「スレッドグループ」ノードを右クリックして、「追加 -> サンプラー -> HTTP リクエスト」を選択します。
3. 「HTTPリクエスト」の「サーバー名またはIP」にサーバーアドレス(「localhost」など)を入力し、「ポート番号」にTomcatが開始したポート(「8080」など)を入力し、「ポート番号」にポートを入力します。 `Path` パフォーマンス テストを実行するメソッドのアドレス (`/hello` など) を入力します。
4. 「スレッド グループ」ノードを選択し、右側の「HTTP リクエストのデフォルト」でサーバー アドレスやポート番号などの基本情報を設定し、各「HTTP リクエスト」パスを直接使用できるようにします。
5. 「開始」ボタンをクリックするか、「Ctrl+R」を押してテストを開始します。

上記は基本的なパフォーマンス テストであり、必要に応じて、同時実行テスト、負荷テストなど、さらに多くのテストを実行できます。ここでは具体的な紹介は行いませんので、興味のある読者はご自身で詳細をご覧ください。

7. まとめ

この記事では、パフォーマンス テスト プロジェクトを構築し、簡単なパフォーマンス テストを実施する方法を紹介します。JDK、Tomcat、Redis、MySQL などのツールの構築について説明し、Spring Boot を使用して簡単な WEB プロジェクトを構築する方法も紹介しました。パフォーマンス テストはソフトウェア開発において不可欠なステップであり、テストを通じて潜在的なパフォーマンスの問題を発見して修正し、ユーザー エクスペリエンスとソフトウェアの品質を向上させることができます。

その後の開発では、これらのツールと方法を使用してパフォーマンス テストと最適化を継続的に実行し、ソフトウェアが常に良好なパフォーマンスとユーザー エクスペリエンスを確保できるようにすることもできます。

以下はサポート情報です。[ソフトウェア テスト] を行う友人にとって、これは最も包括的で完全な準備倉庫となるはずです。この倉庫は、最も困難な旅にも同行してくれました。あなたにも役立つことを願っています。

ソフトウェアテストインタビューアプレット

ソフトウェア テストの質問バンクには、何百万人もの人が参加しました。誰が知っているのか!ネットワーク全体で最も包括的なクイズ ミニ プログラムです。携帯電話を使用して、地下鉄やバスの中でもクイズに答えることができます。

次の面接の質問セクションが取り上げられます。

1. ソフトウェアテストの基礎理論、2. Web、アプリ、インターフェース機能テスト、3. ネットワーク、4. データベース、5. Linux

6. Web、アプリ、インターフェイスの自動化、7. パフォーマンス テスト、8. プログラミングの基本、9. 時間面接の質問、10. 公開テストの質問、11. セキュリティ テスト、12. コンピューターの基本

情報取得方法:

おすすめ

転載: blog.csdn.net/IT_LanTian/article/details/131703690