WebアプリのためのベンチマークツールDBT-1を使う使えば分かるPostgreSQL運用&チューニング(2)(2/3 ページ)

» 2008年07月04日 00時00分 公開
[北川俊広SRA OSS, Inc.]

DBT-1をインストールするための事前準備

 DBT-1を導入するに当たって、ユーザー設定やOS側の設定など、事前に必要な作業がいくつかあります。以降ではそれらの準備作業の手順を紹介しておきます。第1回で構築した環境を前提に作業を進めますので、それ以外の環境の方は適宜、ご自身の環境に即して読み替えながら作業を進めてください。

手順1 pgsqlユーザーの作成・環境設定

 DBT-1は、pgsqlユーザーで動作させることを前提に作られています。そこで、事前にpgsqlユーザーをOSに追加しておきます。pgsqlユーザーの追加は、rootユーザーでuseraddコマンドを実行します。

 第1回でpostgresユーザーを追加した際にpostgresグループが作成されていますので、ここでは、pgsqlユーザーもpostgresグループに入れておきます。

[root]# passwd pgsql

 併せて、passwdコマンドでパスワードも設定します。

[root]# passwd pgsql

 次に、pgsqlユーザーの環境変数を設定します。設定方法は第1回のpostgresユーザー作成の際と同じです。

01: export PATH=$PATH:/usr/local/pgsql/bin
02: export MANPATH=$MANPATH:/usr/local/pgsql/man
03: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
04: export PGDATA=/mnt/dbt1/data
05: export SID1=DBT1

※行頭の「数字:」は行番号なので、実際の記述時は不要


 設定する変数もほぼ同じですが、今回はPGDATA変数(4行目)に/mnt/dbt1/dataを指定しました。この変数には、「手順4 DBT-1用のデータベースクラスタの作成」で作成するデータベースディレクトリの場所を指定してください。また、SID1変数(5行目)には、DBT-1で使用するデータベース名を指定します。今回は、デフォルト値のDBT1を指定します。

手順2 sudoの設定

 DBT-1では、sudoコマンドを利用してrootユーザーでコマンドを実行することがあります。そのため、pgsqlユーザーがパスワードなしでrootユーザーになれるように設定を変更しておきます。

 sudoコマンドの設定を変更するには、rootユーザーでvisudoコマンドを実行します。

[root]# visudo

 このコマンドで、viが起動します。

 エディタが起動したら、viの操作要領で以下の行を適当な場所に追加し、上書きして終了します。

pgsql ALL=(ALL) NOPASSWD: ALL

手順3 limits.confの設定

 DBT-1は、接続時に多数のソケットファイルを生成するため、1プロセスが同時に開けるファイル数の上限が低い設定になっている場合、接続に失敗する可能性があります。そこで、/etc/security/limits.confに以下の定義を追加して、上限を引き上げておきます。

* soft nofile 9216
* hard nofile 65536

手順4 DBT-1用のデータベースクラスタの作成

 今回は、DBT-1用にディスクパーティションをマウントし、そこにデータベースクラスタを作成します(DBT-1用のディスクパーティションを用意しない場合は、この項目を飛ばして、適当なディレクトリにデータベースクラスタを作成しておいてください)。

 マウント先のディレクトリを作成してディスクパーティションをマウントし、ディレクトリの所有者をpgsqlユーザーに変更します。ディスクパーティションを表す/dev/sda4の部分は実際の環境によって異なりますので、適宜置き換えてください。

[root]# mkdir /mnt/dbt1
[root]# mount -t ext3 /dev/sda4 /mnt/dbt1
[root]# chown pgsql /mnt/dbt1

 次に、以下のコマンドでデータベースクラスタを初期化します。

[root]# su - pgsql
[pgsql]$ initdb --no-locale --encoding=EUC_JP

手順5 sarのインストール

 DBT-1は、定期的にシステムの状態を取得する各種コマンドを実行します。その1つとしてsarコマンドがありますが、標準でインストールされていないことも多いため、入っていない場合はインストールします。sarコマンドは、sysstatパッケージに入っており、yumコマンドで簡単にインストールできます。

[root]# yum install sysstat

手順6 unixODBCのインストール

 DBT-1は、ODBC(Open DataBase Connectivity)ドライバを使用してPostgreSQLにアクセスします。PostgreSQLのODBCドライバは、ODBCドライバマネージャ経由で使用します。ODBCドライバマネージャは、iODBCとunixODBCがありますが、今回はunixODBCをインストールします。

 unixODBCは以下のサイトから入手します。執筆時の最新版はunixODBC-2.2.12です。

 unixODBCのソースコードアーカイブを/usr/local/srcにダウンロードして、展開用のディレクトリを作成し、所有者をpostgresユーザーに変更します。

[root]# cd /usr/local/src
[root]# mkdir unixODBC-2.2.12
[root]# chown postgres unixODBC-2.2.12

 次に、postgresユーザーになり、ソースコードアーカイブを展開して、コンパイル、インストールします。

[root]# su - postgres
[postgres]$ cd /usr/local/src
[postgres]$ tar zxf unixODBC-2.2.12.tar.gz
[postgres]$ cd unixODBC-2.2.12
[postgres]$ ./configure --disable-gui
[postgres]$ make
[postgres]$ exit
[root]# cd /usr/local/src/unixODBC-2.2.12
[root]# make install

手順7 PostgreSQL ODBCドライバのインストール

 PostgreSQLのODBCドライバをインストールします。PostgreSQLのODBCドライバは、以下のURLのWebページから入手します。執筆時の最新版はpsqlodbc-08.03.0200です。

 psqlodbcのソースコードアーカイブを/usr/local/srcにダウンロードして、展開用のディレクトリを作成し、所有者をpostgresユーザーに変更します。

[root]# cd /usr/local/src
[root]# mkdir psqlodbc-08.03.0200
[root]# chown postgres psqlodbc-08.03.0200

 次に、postgresユーザーになり、ソースコードアーカイブを展開して、コンパイル、インストールします。

[root]# su - postgres
[postgres]$ cd /usr/local/src
[postgres]$ tar zxf psqlodbc-08.03.0200
[postgres]$ cd psqlodbc-08.03.0200
[postgres]$ ./configure
[postgres]$ make
[postgres]$ exit

[root]# cd /usr/local/src/psqlodbc-08.03.0200
[root]# make install

 続いて、DBT-1がODBCドライバマネージャ経由でPostgreSQLに接続するための設定をしておきます。pgsqlユーザーのホームディレクトリに下記内容で「.odbc.ini」ファイルを作成します。

[ODBC Data Sources]
DBT1 =Postgres DBT1
[DBT1]
Servername = localhost
Database = DBT1
Driver = /usr/local/lib/psqlodbcw.so
Port = 5432
ReadOnly=No

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。