Postgresでのベンチマーク パート1 | Nutanix Community
Skip to main content

本記事は2019628日にGary Little氏が投稿した記事の翻訳版です。

原文はこちら

Image By Daniel Lundin

 

この例では、Postgrespgbenchワークロードジェネレータを用いて、仮想マシンに対して負荷をかけます。PostgresがインストールされたLinux仮想マシンを利用しますが、特にBitnami仮想アプライアンスを使います。

  • VMが起動したらコンソールに接続します
  • Postgres DBポートであるpostgresポート5432へアクセス許可するか sshを許可します

 

$ sudo ufw allow 5432

 

  • postgresユーザーのパスワードを確認してください (cat ./bitnami_credentials)
  • コンソールかSSHよりpsqlへログインします

 

$ psql -U postgres

 

  • オプションとしてパスワードを変更できます (プロンプト表示はpostgresデータベースユーザーのbitnami_credentialsからのパスワードです).

 

$ psql -U postgres
postgres=# alter user postgres with password 'NEW_PASSWORD';
postgresl=# \q

 

  • pgbenchワークロードを実行するDBを作成します。この場合dbを“Scale Factor 10”でテストするためpgbench-sf10と名付けます。Scale Factorとはデータベースのサイズを定義する方法です。

 

$ sudo -u postgres createdb pgbench-sf10

 

  • ベンチマークを実行する準備ができているDBを初期化します。“createdb” ステップは空のスキーマを作成します。
    • -i は “initialize” を意味しています
    • -s は “scale factor” を示し、例えば10など指定します
    • pgbench-sf10 は利用するデータベーススキーマです。先程作ったpgbench-sf10を使います。

 

$ sudo -u postgres pgbench -i -s 10 pgbench-sf10

 

  • pgbench-sf10というDBスキーマに対してワークロードを実行します。

 

$ sudo -u postgres pgbench pgbench-sf10

 

ワークロードパターンとシステムの負荷は、scale factorによって大きく異なります 

 

Scale-Factor ワーキングセットのサイズ
1 23MB
10 157MB
100 1.7GB
1000 15GB
2500 37GB
5000 74GB
10000 147GB