PostgreSQLストリーミングレプリケーション 第4回 チューニングでパフォーマンスは向上する?

2014/11/18 技術系 投稿者:千本木

PostgreSQLストリーミングレプリケーション、いよいよ最終回となりました。

前回では各レプリケーション構成下でのベンチマークを測定しましたが、今回はPostgreSQLのパラメータチューニングによってどの程度パフォーマンスが上がるかを検証してみたいと思います。

postgresql.confの設定

まず、一般的な設定変更を行ってみました。

チューニング前後比較

運用上、良く使われるであろうremote_writeでパフォーマンスを計測しました。

同時接続数beforeafter
10311.438433288.125800
20305.639230252.362676
30249.080966268.283054
40321.211022377.644046
50318.080888384.685279
60375.444728376.620584
70381.336274376.829394
80362.426925380.413093
90357.318007387.246141
100338.282760387.697821

約104.8%のパフォーマンスアップとなりました。

I/Oスケジューラ設定変更

上記の設定内容に加え、ディスク設定を変更してみました。

今回の構成ではディスク性能がボトルネックになっていそうなのですが、少しでもパフォーマンスが出るようにI/Oスケジューラを変更します。

CentOS標準のcfqではI/Oのリクエストを均一に処理しようとします。
これをPostgreSQLで推奨されるdeadlineに変更します。

deadlineでは処理待ちの時間がかかっているI/Oリクエストを優先して処理するI/Oスケジューラです。

ちなみにSSD等ではOSが関与しないnoopにした方が良いそうです。

I/Oスケジューラ変更結果

同時接続数cfqdeadline
10288.125800327.992339
20252.362676313.992751
30268.283054265.219558
40377.644046369.047703
50384.685279388.308045
60376.620584385.296396
70376.829394394.342246
80380.413093383.741045
90387.246141386.482870
100387.697821390.683908

多少ばらつきはありますがI/Oスケジューラをdeadlineに変更するだけで、平均約103.6%のパフォーマンスアップとなることがわかりました。

なお、上記のechoコマンドでdeadlineを設定した場合、再起動するとcfqに戻ってしまいますが、grub.confに記述することで再起動後もdeadlineを使うことができます。

運用上の注意点

さて、チューニングによってもパフォーマンスが変わることがわかりましたが、このまま運用してしまうと問題が出てきました。

スレーブが参照中のデータをマスター側で削除してしまう現象が発生しスレーブの参照がキャンセルされてしまったのです。

これを防ぐために「hot_standby_feedback」パラメータを有効にします。

まとめ

I/Oスケジューラ変更はしておいた方が良い

PostgreSQLのチューニングというと、どうしてもpostgresql.confを弄り倒すイメージがありますが、I/Oスケジューラの変更はお手軽なので是非ともやっておきたいチューニングだと思います。

場合によってはマスターとスレーブでパラメータを変更すべき

今回はマスターとスレーブで同じ設定を行いましたが実運用では性能の良いマスターと、そこそこの性能のスレーブを何台か投入するという場面も出てくるので、マスターとスレーブで違う設定を行うということも有用だと感じました。

最後に

合計4回で構成したPostgreSQLストリーミングレプリケーションいかがでしたでしょうか。

うまく活用することで、スレーブに投入した台数分のパフォーマンスアップが期待できるためPostgreSQLの負荷が多い場合には非常に有効な方法と言えると思います。

ちなみに実際にデータベースの負荷が問題になっていたサーバでは、ストリーミングレプリケーションにより参照クエリを分散することで、想像以上のパフォーマンスを発揮することができました。

今後もさまざまな機能強化が行われていくPostgreSQLを注視していきたいと思います。

カレンダー

    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       

カテゴリー

PRODUCE ネディアプロデュース
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
ワイドオフィス
イヤホンのブランドでハイクラスを誇る | n+um(エニューム)