[pgsql-jp: 39263] Re: JPUG合宿(8.3チューニング大会あり)のご案内

Sunao Kiyosue kiyo @ itm.ne.jp
2008年 2月 27日 (水) 10:39:14 JST



清末です。せっかく書いたので。

詳細まではいきませんが、とりあえず概要を。詳しくは、下記URLからで
お願いします。

当日は3チームにわかれて、チューニング。

サーバは、SUN様がご提供いただきました。
Sun Fire X4100
2.8GHz AMD Opteron 254 (1MBキャッシュ) x 2、
8GBメモリ (2GB DIMM x 4 DDR/400)、
73GB 10000回転SASディスクドライブ x 2、
OSにはSolaris 10最新版(8/07 update4)

HDDは、RAID1 構成にせず、2台目をフルに空きとしました。

データは、blogを想定した物、
ユーザと日記とコメントのテーブルを用意。
データ数。。すみませんわすれました。
総データ量で2Gぐらい。

そのうち、利用した、pgbenchのファイルはどこかに公開
されるかも・・・・

インデックスも張らずにするとtps = 2 程度。
(excluding connections establishing)の方。

各チームとも最終スコアは1000オーバーになったで、最終結果
だけみると500倍でしょうか。

チューニングのポイントはありきたりですが、
・インデックスはきちんとはる。
 今回は、特に複雑でなかったので差はなし。

・空のHDDにデータ領域を割り振り
 walを、どちらのHDDに置くかはチームによって差があり。

・fsync = off は禁じ手
・HDDのファイルシステムでも当然差がでる。-> 結構でかい。
 (当日は、禁じ手としました。)

・ベンチマーク前に、
 vacuum analyze やら、 CHECKPOINT やら、 select count(*) FROM ~~
  (メモリ上に全データを乗せるため)を行ってから、実測

・postgresql.conf でいじったところ(各チームでちがいます)->Aチーム分
 max_connections = 150 
 shared_buffers  = 3000MB
 work_mem = 256MB
 max_fsm_pages = 768000
 max_files_per_process = 1000
 vacuum_cost_delay = 0
 vacuum_cost_page_miss = 0
 vacuum_cost_page_dirty = 0
 bgwriter_delay = 10000ms
 synchronous_commit = off -> 結構ちがう。
 wal_sync_method = fdatasync 結構割れて、fdatasync とか、open_sync とか
 full_page_writes = off
 wal_buffers = 640kB
 wal_writer_delay = 200ms
 commit_delay = 100
 commit_siblings = 5
 checkpoint_segments = 30
 autovacuum = off
 datestyle = 'iso, mdy'
 lc_messages = 'C'
 lc_monetary = 'C'
 lc_numeric = 'C'
 lc_time = 'C'
 default_text_search_config = 'pg_catalog.english'

基本的に速度重視で信頼性落としているので、実運用ではあまり使えない
かもしれませんが、ポイントは、
I/O が発生しそうなところは、メモリに溜めて一気にしてしまう所でしょうか

改めて、チューニングで気をつけるところは、
-> SQL自身(JOINの順番) -> 今回は関係なかったですが
-> インデックスの適切な設定
-> HDD, DB領域の設定->別HDDとか、ファイルシステムとか tablespace とか
  データ領域や、I/O あたり
-> メモリの割り当て
-> wal への書き込みのタイミング (checkpoint commit wal_writer_delay
full_page_writes)

を気にすると、良い感じになりそうです。

8.3からの分では、
synchronous_commit = off と on では、結構違ってきました。
試したところ tps で、100〜200ぐらいは、違ったと思います。
運用次第では、offも一考です。

当日のマシンが Solaris で、8.2がインストールされていたので、ほぼ
同じ状況で、差を確かめたかったのですが、時間切れで断念しました。
HOTの性能までは、検証できず。

個人的には、コンソールを後ろから覗いているだけでかなり勉強になったので
支部の勉強会とかでフィードバックできればと思います。



TAKATSUKA Haruka さんは書きました:
> pgsql-jp各位さま:
> おつかれさまです。高塚@合宿参加 です。 
> 
> JPUG合宿チューニング大会(PostgreSQL8.3/Solaris10)の、
> まとめページ用意しました。
> 
> http://www.postgresql.jp/events/event_files/gasshuku200802benchmark
> 
> ・成績の変遷表
> ・各チームの設定や工夫内容
> 
> は、未だ掲載しておりません。
> 
> ※Aチームのデータは私が持っております。
>   その他データをお持ちの方、私宛に送っていただけましたら
>   合わせて掲載いたします
> 
> 
> 
> On Mon, 25 Feb 2008 16:37:18 +0900
> Kaori Inaba <i-kaori @ sraoss.co.jp> wrote:
> 
>> 稲葉です。
>>
>> On Mon, 25 Feb 2008 11:20:58 +0900
>> Kiyoshi Sawada <sawa @ nagoya2.jrc.or.jp> wrote:
>>
>>> 沢田@名古屋です。
>>>
>>>>>> 待望の PostgreSQL8.3 がリリースされました。
>>>>>> これを使ってのチューニング大会がメインイベントとなるJPUG合宿を、
>>>>>> 今年は初の九州、佐賀県の温泉にて開催いたします。
>>>>> 結果レポートを首を長くしてお待ちいたします。
>>> ほのかに、酒のかおりが漂った(笑)、
>>>
>>> >> ○×△チームはすでにぶっちぎり、200倍速い
>>>
>>> との、風の便りが届きましたが、チューニングは、いかがでしたでしょう
>>> か?  概要なんぞをいただけたら幸いです。
>> チューニング大会では、SNS 風データベースをチューニングするというお題でし
>> た。(昨年と同じようです)
>>
>> まずはインデックスをいじって100倍くらい。
>> そのごは、主に postgresql.conf の設定でさらに 10倍くらい。
>>
>> といったところでしょうか。後はきっと誰かが細かい報告を・・・
>>
>> postgresql.conf は 8.3 で増えたパラメータも効果がありそうです。
>> 時間があれば同じような設定の 8.2 との差を試してみたかった(特にHOTの効果
>> がどうなの?とか)ですが、そこまでは時間がありませんでした。
>>
>> 特に九州の皆様には、現地での手配から空港から温泉への車輸送など大変お世話
>> になりました。
>>
>> i-kaori
> ______________________________________________________________________
>  高塚 遙  harukat@sraoss.co.jp  SRA OSS, Inc  http://www.sraoss.co.jp
>  〒170-0005 東京都豊島区南大塚3-46-3 大塚セントコアビル5F
>  TEL: 03-5951-1191   FAX: 03-5951-1192
> 
> 
> 
> 

-- 
--------------------------------------------------------
ITM(株式会社 アイティマネジメント)
〒810-0022 福岡市中央区薬院3-13-11 サナ・ガリアーノ4F
TEL:092-525-0081 FAX:092-525-0082
Sunao Kiyosue (清末 直)

 メルマガ
 http://blog.mag2.com/m/log/0000247946/

 ITM-ASPサービス  http://www.itm-asp.com
 メール配信システム【月額 6000通 1,050円〜】
 クリックカウンター【月額 2,100円〜】
 ステップメール【3月公開中】
--------------------------------------------------------



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