[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 メーリングリストの案内