ホームページ データベース mysql チュートリアル mysqlslap ストレス テスト mysql の詳細な紹介

mysqlslap ストレス テスト mysql の詳細な紹介

Jun 04, 2017 am 11:55 AM

mysqlslap は、バージョン 5.1.4 以降、MySQL によって正式に提供されるストレス テスト ツールです。ストレス テストは、MySQL にアクセスする複数の同時クライアントをシミュレートすることによって実行され、同じ環境内の複数のストレージ エンジンの同時ストレス パフォーマンスの違いを適切に比較できます。

mysqlslap の操作には、次の 3 つのステップがあります。 <br>1. 単一の接続を使用して、スキーマ、テーブル、テスト データなどを作成します (MySQL では、スキーマはデータベースです)。負荷テストでは、複数の同時クライアント接続を使用できます。 <br>3. テスト環境のクリーンアップ (<br>作成されたデータ、テーブルなどの削除、切断) は、単一の接続を使用します。

使用構文は次のとおりです:

# mysqlslap [オプション]<br>

共通パラメータ [オプション] 詳細な説明:

--auto-generate-sql、-a はテストテーブルとデータを自動的に生成しますmysqlslap ツールは、同時実行圧力をテストするために独自の SQL スクリプトを生成します。 <br>--auto-generate-sql-load-type=type テスト ステートメントのタイプ。テスト対象の環境が読み取り操作であるか、書き込み操作であるか、またはその 2 つの混合であるかを示します。値には次が含まれます: read、key<br>--auto-generate-sql, -a 自动生成测试表和数据,表示用mysqlslap工具自己生成的SQL脚本来测试并发压力。<br>--auto-generate-sql-load-type=type 测试语句的类型。代表要测试的环境是读操作还是写操作还是两者混合的。取值包括:read,<a href="http://www.php.cn/wiki/1051.html" target="_blank">key</a>,write,up<a href="http://www.php.cn/wiki/1255.html" target="_blank">date</a>和mixed(默认)。<br>--auto-generate-sql-add-auto-increment 代表对生成的表自动添加auto_increment列,从5.1.18版本开始支持。<br>--number-char-cols=N, -x N 自动生成的测试表中包含多少个<a href="http://www.php.cn/code/6739.html" target="_blank">字符类型</a>的列,默认1<br>--number-int-cols=N, -y N 自动生成的测试表中包含多少个数字类型的列,默认1<br>--number-of-queries=N 总的测试<a href="http://www.php.cn/php/php-tp-demand.html" target="_blank">查询</a>次数(并发客户数×每客户查询次数)<br>--query="sql statement",-q 使用自定义脚本执行测试,例如可以调用自定义的一个<a href="http://www.php.cn/code/12179.html" target="_blank">存储过程</a>或者sql语句来执行测试。<br>--create="sql statement" 创建表的SQL语句或文件<br>--concurrency=N, -c N 表示并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者--delimiter参数指定的值做为分隔符。例如:--concurrency=100,200,500。<br>--engine=engine_name, -e engine_name 代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb。<br>--iterations=N, -i N 测试执行的迭代次数,代表要在不同并发环境下,各自运行测试多少次。<br>--only-<a href="http://www.php.cn/wiki/1362.html" target="_blank">print</a> 只打印测试语句而不实际执行。<br>--debug-info, -T 打印内存和CPU的相关信息。 

说明:<br>测试的过程需要生成测试表,插入测试数据,这个mysqlslap可以自动生成,默认生成一个mysqlslap的schema,如果已经存在则先删除。可以用--only-print来打印实际的测试过程,整个测试完成后不会在数据库中留下痕迹。

各种测试参数实例(-p后面跟的是mysql的root密码):

Demo 1:

单线程测试。测试做了什么。<br># mysqlslap -a -uroot -p123456<br>多线程测试。使用–concurrency来模拟客户端并发连接数。如,100个客户端并发连接数据库。<br># mysqlslap -a -c 100 -uroot -p123456<br>迭代测试。用于需要多次执行测试得到平均值。如,迭代10次,取平均值。<br># mysqlslap -a -i 10 -uroot -p123456<br>

Demo 2:<br>

测试同时不同的存储引擎的性能进行对比:<br># mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -p123456

分别500个并发,每个并发客户端执行一次查询,共500次查询,和1000个并发,每个并发客户端执行一次查询,共1000次查询。为了准确起见,可以多迭代测试几次:<br>、write、up日付

と混合 (デフォルト)。

--auto-generate-sql-add-auto-increment は、生成されたテーブルに auto_increment 列を自動的に追加することを意味します。バージョン 5.1.18 以降でサポートされます。 --number-char-cols=N, -x N 自動生成されたテストに含まれる の数table 文字型 列、デフォルト 1

--number-int-cols=N, -y N 自動生成されたテスト テーブルに含まれる数値型列の数、デフォルト 1

--number-of-queries=N Total Test クエリ時間 (同時顧客数 × 顧客ごとのクエリ数)

--query= "sql ステートメント",-q カスタム スクリプトを使用してテストを実行します。たとえば、カスタム ストアド プロシージャ

または SQL ステートメントを使用してテストを実行します。

--create="sqlstatement" テーブルの SQL ステートメントまたはファイルを作成します

--concurrency=N, -c N は同時実行の量、つまり選択を同時に実行するためにシミュレートされるクライアントの数を表します。カンマまたは --delimiter パラメータで指定した値を区切り文字として使用して、複数の値を指定できます。例: --concurrency=100,200,500。

--engine=engine_name、-e Engine_name はテストするエンジンを表します。セパレータで区切って複数存在することもできます。例: --engines=myisam,innodb。 🎜--iterations=N, -i N はテスト実行の反復数で、異なる同時環境でテストを実行する必要がある回数を表します。 🎜--only-
print🎜 は、テスト ステートメントを実際には実行せずに印刷するだけです。 🎜--debug-info, -T メモリと CPU 関連の情報を出力します。 🎜🎜注: 🎜 テスト プロセスでは、テスト テーブルの生成とテスト データの挿入が必要です。この mysqlslap スキーマはデフォルトで生成されます。既に存在する場合は、最初に削除してください。 --only-print を使用して実際のテスト プロセスを印刷できます。テスト全体が完了した後はデータベースに痕跡は残りません。 🎜🎜🎜さまざまなテストパラメータの例 (-p の後に mysql の root パスワードが続きます): 🎜🎜🎜デモ 1: 🎜🎜シングルスレッドテスト。テストで何が起こったのか。 🎜# mysqlslap -a -uroot -p123456🎜 マルチスレッドのテスト。同時クライアント接続の数をシミュレートするには、-concurrency を使用します。たとえば、100 台のクライアントが同時にデータベースに接続します🎜。 🎜# mysqlslap -a -c 100 -uroot -p123456🎜 反復テスト。テストを複数回実行して平均を取得するために使用されます。たとえば、10 回繰り返して平均を取ります。 🎜# mysqlslap -a -i 10 -uroot -p123456🎜🎜🎜デモ 2:🎜🎜🎜 さまざまなストレージ エンジンのパフォーマンスを同時にテストして比較します: 🎜 # mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -p123456🎜🎜それぞれ 500 個の同時実行、各クライアントの同時実行1 つのクエリ、合計 500 のクエリ、および 1000 の同時実行。各同時クライアントは 1 つのクエリ、合計 1000 のクエリを実行します。正確さを期すために、テストを数回繰り返すことができます: 🎜🎜🎜 どちらのテストも自動的に SQL テスト スクリプトを生成し、それぞれ 10 回繰り返して平均を取得します。テスト環境には、読み取り、書き込み、🎜update🎜 混合テスト、自己増加フィールドが含まれており、テスト エンジンは innodb です。 🎜🎜# mysqlslap –uroot –p –concurrency=500 –I 10 –a –auto-generate-sql-type=mixed –auto-generate-sql-add-autoincrement –engine=innodb –number-of-queries=500🎜 🎜# mysqlslap –uroot –p –concurrency=1000 –I 10 –a –auto-generate-sql-type=mixed –auto-generate-sql-add-autoincrement –engine=innodb –number-of-queries=1000🎜🎜返される結果は次のとおりです: 🎜

上記 2 つのテストからわかるように、同時実行量が 500 から 1000 に変化すると、クエリ時間は約 2 倍になります。

以上がmysqlslap ストレス テスト mysql の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQL対その他のプログラミング言語:比較 MySQL対その他のプログラミング言語:比較 Apr 19, 2025 am 12:22 AM

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

Laravel Frameworkインストール方法 Laravel Frameworkインストール方法 Apr 18, 2025 pm 12:54 PM

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

mysqlとmariadbを比較対照します。 mysqlとmariadbを比較対照します。 Apr 26, 2025 am 12:08 AM

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

YIフレームワークに適したソフトウェアは何ですか? YIフレームワーク用の推奨ソフトウェア YIフレームワークに適したソフトウェアは何ですか? YIフレームワーク用の推奨ソフトウェア Apr 18, 2025 pm 11:03 PM

記事の最初の段落の要約:YIフレームワークアプリケーションを開発するソフトウェアを選択する場合、複数の要因を考慮する必要があります。 XcodeやAndroid Studioなどのネイティブモバイルアプリケーション開発ツールは、強力な制御と柔軟性を提供できますが、Reactネイティブやフラッターなどのクロスプラットフォームフレームワークは、一度に複数のプラットフォームに展開できる利点にますます人気が高まっています。モバイル開発を新しい開発者向けに、AppsheetやGlideなどの低コードまたはノーコードプラットフォームは、アプリケーションをすばやく簡単に構築できます。さらに、AWS AmplifyやFirebaseなどのクラウドサービスプロバイダーは包括的なツールを提供します

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

See all articles