BenchmarkSQLのインストールおよび使用ガイド



Benchmarksql Installation



1。概要

BenchmarkSQLは、OLTPのTPC-C標準に非常によく似た使いやすいJDBCベンチマークです。サポートされているデータベースには、PostgreSQL / EnterpriseDB、DB2、Oracle、SQL Server、およびMySQLが含まれます。

BenchmarkSQLはオープンソースであり、使用されるプロトコルはGNU General Public Licenseバージョン2.0(GPL v2)です。つまり、変更および派生したコードを許可しません。 クローズドソース商用ソフトウェア リリースと販売。



この記事では、BenchmarkSQLをインストールし、それを使用してPostgreSQLのパフォーマンスパラメータを測定する方法について説明します。

2.実験環境

ハードウェア環境:



CPU、Intel(R)Xeon(R)4コア以上

メモリ、8G以上

オペレーティング・システム:



Linuxの場合、CentOS7.xをお勧めします。

ソフトウェア環境:

Java、JDK7以降

PostgreSQL、この記事ではPostgreSQL10.0を使用しています。別のコンピューターにインストールできます。

Ant、この記事ではant1.7.1を使用しています

EPELウェアハウス、この記事ではepel-release-6-8を使用しています

R言語、この記事ではR3.5.1を使用しています

そして、上記のソフトウェアの依存関係。

3.BenchmarkSQLおよび関連ソフトウェアをインストールします

この記事のデフォルトは、JavaとPostgreSQLが正常にインストールされていることです。 JavaとPostgreSQLがインストールされていない場合は、自分でインストールして残りを読んでください。

3.1Antのインストール

注文の実行:

yum -y install ant

3.2EPELウェアハウスのインストール

CentOS 6.xバージョンを使用している場合は、次のコマンドを実行します。

su -c'rpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm '

CentOS 7.xバージョンを使用している場合は、次のコマンドを実行します。

su -c'rpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm '

次に、yumリポジトリを更新します。

sudo yum -y update

3.3R言語のインストール

注文の実行:

sudo yum -y install R

インストールプロセス中に、次の問題が発生した場合:

パッケージのダウンロード中にエラーが発生しました

texinfo-tex-4.13a-8.el6.x86_64:失敗:ベースからのPackages / texinfo-tex-4.13a-8.el6.x86_64.rpm:[Errno256]これ以上ミラーを試す必要はありません。

セクション5.1「パッケージのダウンロードに失敗しました」を参照してください。

3.4BenchmarkSQLをダウンロードしてインストールします

ダウンロード住所 BenchmarkSQLインストールパッケージをダウンロードします。この記事でダウンロードしたファイルはbenchmarksql-5.0.zipです(付録を参照)。ダウンロードが完了したら、ファイルを解凍します。

./benchmarksql-5.0.zipを解凍します

4.BenchmarkSQLを使用してPostgreSQLをテストします

4.1ベンチマークユーザーとデータベースの作成

PostgreSQLがインストールされているサーバーでPostgreSQLを起動してログインし、benchmarksqlというユーザーデータベースを作成します。

postgres =#暗号化されたパスワードを使用してユーザーbenchmarksqlを作成する 'changeme'

postgres =#CREATE DATABASEbenchmarksqlOWNERbenchmarksql

postgres =# q

ここで、「changeme」を独自のデータベースパスワードに置き換えることができます。

4.2BenchmarkSQLソースコードのコンパイル

BenchmarkSQLの解凍されたディレクトリに入り、antを使用してソースコードをコンパイルします。

[root @ xxxxx〜] $ cdbenchmarksql

[root @xxxxxbenchmarksql] $ ant

4.3構成ファイルの作成

runディレクトリに移動し、props.pgファイルをコピーし、結果のコピーを編集して、ベンチマークに関連するパラメータを設定します。

[root @xxxxxbenchmarksql] $ cd run

[root @ xxxxx run] $ cp props.pg my_postgres.properties

[root @xxxxx実行] $ vi my_postgres.properties

最初の実験では、最初に次のパラメータを変更します。

conn = jdbc:postgresql:// localhost:5432 / postgres

「localhost」をpostgresqlが配置されているサーバーのIPアドレスに変更し、「5432」をpostgresqlが配置されているポートに変更し、最後の「postgres」を測定されたデータベースに変更します。この実験では、conn = jdbc:postgresql:// localhost:5432 / benchmarksqlに変更します。

user = benchmarksql

テストするユーザーに「benchmarksql」を変更します。この実験は変更されていません。

password = PWbmsql

'PWbmsql'をテスト対象のユーザーのパスワードに変更します。この実験はそれを「changeme」に変更しました。

4.4スキーマの作成とデータベースの初期化

現在のパスでシェルスクリプトを実行します。

[root @ xxxxx run] ./runDatabaseBuild.sh my_postgres.properties

4.5構成ベンチマークの実行

次のコマンドを実行して、プログラムBenchmarkSQLが正しく実行されることを確認します。

[root @ xxxxx run] $ ./runBenchmark.sh my_postgres.properties

ベンチマークレポートの終わりは次のとおりです。

01:58:09,081 [スレッド-1] INFO jTPCC:Term-00、

01:58:09,082 [スレッド-1] INFO jTPCC:Term-00、測定されたtpmC(NewOrders)= 179.55

01:58:09,082 [スレッド-1] INFO jTPCC:Term-00、測定されたtpmTOTAL = 329.17

01:58:09,082 [スレッド-1] INFO jTPCC:Term-00、セッション開始= 2016-05-25 01:58:07

01:58:09,082 [スレッド-1] INFO jTPCC:Term-00、セッション終了= 2016-05-25 01:58:09

01:58:09,082 [スレッド-1] INFO jTPCC:Term-00、トランザクション数= 10

これは、テストが正常に実行されたことを意味します。

4.6ベンチマークテストの構成パラメータの変更

my_postgres.propertiesのパラメーターは、正式なテストの前に変更する必要があります。

この実験では、次の2つのパラメータを次のように変更しました。

runTxnsPerTerminal = 0

runMins = 120

ここで、runTxnsPerTerminalは、テスト中に実行されている端末ごとのトランザクション数を表します。実行中のトランザクションの数がこの値に達すると、テストは終了します。runMinsは、テストの長さを分単位で表します。

これら2つのパラメーターの一方の値がゼロより大きい場合、もう一方の値をゼロに設定する必要があります。

4.7ベンチマークを再実行します。

データベースを再初期化し、次のコマンドを順番に実行してベンチマークを実行します。

[root @ xxxxx run] $ ./runDatabaseDestroy.sh my_postgres.properties

[root @ xxxxx run] $ ./runDatabaseBuild.sh my_postgres.properties

[root @ xxxxx run] $ ./runBenchmark.sh my_postgres.properties

次に、BenchmarkSQLは、対応するPostgresqlデータベースに対して120分のパフォーマンステストを実行します。

4.8レポートの生成

テストが終了すると、実行ディレクトリに新しいディレクトリが生成されます。その命名形式はmy_result_%tY-%tm-%td_%tH%tM%tSです。

generateReport.sh my_result_ *スクリプトを使用してグラフィカルHTMLファイルを作成します。

例えば:

./generateReport.sh my_result_2018-09-30_133047

次に、htmlファイルがmy_result_ *ディレクトリに生成されます。

ブラウザで開いてレポートを表示します。写真が示すように:

5.インストールプロセス中のその他の問題と解決策

5.1パッケージのダウンロードに失敗しました

問題の説明:

コマンド「sudoyum-y install R」を使用してパッケージをダウンロードすると、エラーが発生します。

パッケージのダウンロード中にエラーが発生しました

texinfo-tex-4.13a-8.el6.x86_64:失敗:ベースからのPackages / texinfo-tex-4.13a-8.el6.x86_64.rpm:[Errno256]これ以上ミラーを試す必要はありません。

libicu-devel-4.2.1-14.el6.x86_64:失敗:ベースからのPackages / libicu-devel-4.2.1-14.el6.x86_64.rpm:[Errno256]これ以上ミラーを試す必要はありません。

解決:

1.まず、不足しているコンポーネントを公式Webサイトから手動でダウンロードします。

texinfo-tex-4.13a-8.el6.x86_64

libicu-devel-4.2.1-14.el6.x86_64

2.ダウンロードが完了したら、次のコマンドを使用してインストールします。

rpm -ivh texinfo-tex-4.13a-8.el6.x86_64.rpm

rpm -ivh texinfo-tex-4.13a-8.el6.x86_64

3.関連するコンポーネントを再インストールします。sudoyum-yinstall R

参照

[1] BenchmarkSQL 開発チーム。 PostgreSQLでBenchmarkSQLを実行するための手順。

[2]マーティン・プラマー。 Fedora、Red Hat EnterpriseLinuxおよび派生物用のRPMS。 2014-07-22。

[3] ジェイソンA.フランス語 LinuxへのRのインストール 。 2013-05-11