プライベートな連絡先の最初の情報
送料メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
自動ストレス テストを実行するには、Spring Boot フレームワークを通じて JMeter を呼び出す必要がある、高性能ストレス テスト プラットフォームを構築します。
Java の Runtime クラスは、オペレーティング システムと対話するためのインターフェイスを提供し、Java アプリケーションがシステム コマンドを実行し、外部アプリケーションまたはスクリプトを起動し、それらと対話できるようにします。このシナリオでの Runtime クラスのアプリケーションは次のとおりです。
Runtime
クラスは、Java ランタイム環境と対話するためのメソッドを提供する Java のコア クラスです。
これはオペレーティング システムと対話するためのインターフェイスを提供し、Java アプリケーションがシステム コマンドを実行し、システム リソースにアクセスし、特定の操作を実行できるようにします。
主な用途には次のような側面が含まれます。
プロセスの開始と管理
Runtime
このクラスは、次のようないくつかのメソッドを提供します。exec()
、外部プロセスの開始と管理に使用されます。
これにより、Java アプリケーションはシステム コマンドを実行し、他のアプリケーションやスクリプトを起動し、外部プロセスと対話できるようになります。
システムリソースにアクセスする
Runtime
このクラスは、次のようないくつかのメソッドを提供します。totalMemory()
そしてfreeMemory()
、Java 仮想マシンのメモリ情報を取得するために使用されます。
こちらも利用可能getSystemResource()
クラスパスやライブラリパスなどのシステムリソースパスを取得するメソッド。
特定のアクションを実行する
Runtime
このクラスは、次のようないくつかのメソッドも提供します。exit()
、Java アプリケーションを終了するために使用されます。
こちらも利用可能nanoTime()
現在のナノ秒時間を取得し、使用するメソッドcurrentTimeMillis()
現在のミリ秒時間を取得するメソッド。
JMeter bin ディレクトリを入力します。
コマンドラインパラメータを使用してJMeterを起動します
./jmeter -n -t /Users/xdclass/Desktop/report.jmx -l /Users/xdclass/Desktop/temp/jtl/result.jtl -e -o /Users/xdclass/Desktop/temp/result
含む:
-n
:JMeter を非 GUI モードで実行します。-t <jmx文件路径>
: JMeter テスト スクリプトへのパスを指定します。-l <结果日志路径>
: テスト結果ログの保存先フォルダが存在し、ファイル名が重複しないように指定してください。-e
: テスト スクリプトの実行後、HTML 形式でテスト レポートを生成します。-o <报告目录路径>
: HTML レポートが保存されているディレクトリを指定します。フォルダーが存在することを確認してください。- public class JMeterIntegration {
-
- public static void main(String[] args) {
- try {
- // 构建JMeter命令行调用
- String command = "/path/to/jmeter/bin/jmeter -n -t /path/to/test.jmx -l results.log -e -o /path/to/result";
- Process process = Runtime.getRuntime().exec(command);
-
- // 读取JMeter输出
- new BufferedReader(new InputStreamReader(process.getInputStream())).lines()
- .forEach(System.out::println);
-
- // 等待JMeter进程结束并获取退出码
- int exitCode = process.waitFor();
- System.out.println("JMeter process exited with code: " + exitCode);
- } catch (IOException | InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
可読性、メンテナンス性、拡張性が低く、プラットフォーム化が難しく、既存の知識が保持される