1Unboundの最適化日本Unboundユーザ会 滝澤隆史                2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料
2日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料   2011-03-04
3                            2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料最適化に関する文書• 「Howto optimize」 ▫ http://unbo...
4日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料   2011-03-04
5                2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料スレッド数• num-threads ▫ スレッド数を設定する• 最適化 ▫ システムのCPUのコア数と同...
6                               2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料スラブ数• msg-cache-slabs, rrset-cache-sla...
7                         2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料キャッシュサイズ• msg-cache-size  ▫ メッセージのキャッシュサイズ• ...
8                       2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料オープンするポート数• outgoing-range ▫ オープンするポート数(スレッド毎)...
9                           2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料スレッド毎に対応するクエリー数• num-queries-per-thread ▫ ...
10                                2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料受信バッファサイズ• so-rcvbuf  ▫ 受信バッファサイズ  ▫...
11                              2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料送信バッファサイズ• so-sndbuf (1.4.8以降) ▫ 送信バッフ...
12                  2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料TTLの制限• cache-max-ttl  ▫ キャッシュ内のRRsetのTTLの最大値  ▫ デ...
13                           2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料DNSKEYレコードのプリフェッチ• prefetch-key (1.4.2以降)...
14日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料   2011-03-04
15                                  2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料libevent/libev• libevent/libevを使うこ...
16                               2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料フォーク• スレッドの代わりにプロセスをフォークする方  法• ビルド時に...
17日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料   2011-03-04
Upcoming SlideShare
Loading in …5
×

Unboundの最適化(OSC2011 Tokyo/Spring)

1,672 views
1,567 views

Published on

Unboundの最適化についての発表資料。
OSC2011 Tokyo/Springにて発表。

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,672
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Unboundの最適化(OSC2011 Tokyo/Spring)

  1. 1. 1Unboundの最適化日本Unboundユーザ会 滝澤隆史 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料
  2. 2. 2日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04
  3. 3. 3 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料最適化に関する文書• 「Howto optimize」 ▫ http://unbound.net/documentation/howto_optimise. html• 邦訳「最適化の方法」 ▫ http://unbound.jp/unbound/howto_optimise/
  4. 4. 4日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04
  5. 5. 5 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料スレッド数• num-threads ▫ スレッド数を設定する• 最適化 ▫ システムのCPUのコア数と同じくする
  6. 6. 6 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料スラブ数• msg-cache-slabs, rrset-cache-slabs, infra-cache-slabs, key-cache-slabs ▫ キャッシュ内のスラブ数 ▫ スレッドによるロックの競合を減らす• 最適化 ▫ num-threadsの値に近くなる2の累乗に設定
  7. 7. 7 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料キャッシュサイズ• msg-cache-size ▫ メッセージのキャッシュサイズ• rrset-cache-size ▫ RRsetのキャッシュサイズ• 最適化 ▫ rrset-cache-sizeはmsg-cache-sizeの2倍に設定する。 ▫ 総メモリ使用量は総キャッシュメモリ量の2~2.5 倍消費する
  8. 8. 8 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料オープンするポート数• outgoing-range ▫ オープンするポート数(スレッド毎)• 最適化 ▫ 可能な限り最大にする ▫ ファイル記述子1024個の制限  1024/コア数 - 50  1コア: 950  2コア: 450  4コア: 200 ▫ libevent/libevを使うことで制限解除
  9. 9. 9 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料スレッド毎に対応するクエリー数• num-queries-per-thread ▫ スレッド毎に対応するクエリー数• 最適化 ▫ outgoing-rangeの半分に設定する
  10. 10. 10 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料受信バッファサイズ• so-rcvbuf ▫ 受信バッファサイズ ▫ SO_RCVBUFソケットオプション• 最適化 ▫ 4mを設定する ▫ あるいは、システムの受信バッファを設定  Linux: /proc/sys/net/core/rmem_max
  11. 11. 11 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料送信バッファサイズ• so-sndbuf (1.4.8以降) ▫ 送信バッファサイズ ▫ SO_SNDBUFソケットオプション• 最適化 ▫ 4mを設定する ▫ あるいは、システムの送信バッファを設定  Linux: /proc/sys/net/core/wmem_max
  12. 12. 12 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料TTLの制限• cache-max-ttl ▫ キャッシュ内のRRsetのTTLの最大値 ▫ デフォルト: 86400• cache-min-ttl ▫ キャッシュ内のRRsetのTTLの最小値 ▫ デフォルト: 0
  13. 13. 13 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料DNSKEYレコードのプリフェッチ• prefetch-key (1.4.2以降) ▫ DSがあれば、DNSKEYを事前に取得 ▫ 遅延が減る ▫ DNSSECの検証を有効にしているときには効果的• 最適化 ▫ prefetch-key: yes
  14. 14. 14日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04
  15. 15. 15 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料libevent/libev• libevent/libevを使うことにより、ファイル記述子 1024個の制限を回避• ビルド時に指定する ▫ ./configure --with-libevent• outgoing-rangeを8192に、 num-queries-per-threadを4096に 設定して問題なく運用しているとの報告あり。
  16. 16. 16 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料フォーク• スレッドの代わりにプロセスをフォークする方 法• ビルド時に指定▫ ./configure --without-pthreads --without-solaris- threads• ロッキング不要のため10~20%速度向上• プロセス間ではキャッシュを共有しないことに 注意
  17. 17. 17日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04

×