[pgsql-jp: 30633] Re: TurboLinux Server 8 でのパフォーマンスが悪い

Hiroki Nose nose @ daemon.ac
2003年 7月 30日 (水) 01:19:00 JST


能瀬@大阪市です。

> > RH8とTLS8へPostgreSQLをインストールした際、pgbenchの
> > 結果がかなり違います。
> wal_sync_methodをopen_syncに設定するとRH8とTLS8の間でパフォーマンスに差
> が出るのですね.
> DISKがRAID1ということですので,この辺りのモジュールがパッケージ間で違う
> のが効いているのではないでしょうか.

DL360 G3のRAIDカードはSmart Array 5iですので、ccissモジュール
を使っています。
ccissのバージョンはRH8が2.4.46で、TLS8が2.4.44でした。
ccissモジュール周りをあたってみます。

ただ、RH8とTLS8上それぞれで、hdbench cloneを使いHDDの
ベンチマークした結果はほとんど同じだったのでモジュールの
バージョンによる差はほとんどないと思っていました。

> > これは何処かにOSのチューニングパラメータがあったりするの
> > でしょうか?
> PostgreSQLの,OSに依存する項目のチューニングでしょうか?
> ディスクアクセスやメモリ,セマフォに関する設定項目がそれらに当たると思い
> ます.
> wal_sync_methodでベンチマーク結果が異なるようですので,WAL周りの設定項目
> を見直されてはどうでしょうか.
> (wal_buffersとかcommit_delayなど)

max_connections = 100
shared_buffers = 4096
sort_mem = 512
vacuum_mem = 8192
wal_sync_method = open_sync
syslog = 2
deadlock_timeout = 10000
max_files_per_process = 50
wal_buffers = 256

[postgres @ dhcp167 pgsql]$ ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 516250
max total shared memory (kbytes) = 516248
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384

[postgres @ dhcp167 pgsql]$

[postgres @ dhcp167 data]$ pgbench test -c 100
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 100
number of transactions per client: 10
number of transactions actually processed: 1000/1000
tps = 18.819569 (including connections establishing)
tps = 18.951110 (excluding connections establishing)

続けて、2回目のpgbenchやると少しはよくなりました。
(キャッシュが効いているだけ?)
[postgres @ dhcp167 data]$ pgbench test -c 100
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 100
number of transactions per client: 10
number of transactions actually processed: 1000/1000
tps = 26.297455 (including connections establishing)
tps = 26.562190 (excluding connections establishing)

の設定でTLS8で試してはみたもののpgbenchの結果は変わりませんでし
た。
commit_delayなどはまた試してみます。



pgsql-jp メーリングリストの案内