SlideShare a Scribd company logo
1 of 17
Download to read offline
1




Unboundの最適化
日本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://unbound.net/documentation/howto_optimise.
   html
• 邦訳「最適化の方法」
 ▫ http://unbound.jp/unbound/howto_optimise/
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-slabs, infra-cache-slabs,
  key-cache-slabs
  ▫ キャッシュ内のスラブ数
  ▫ スレッドによるロックの競合を減らす
• 最適化
  ▫ num-threadsの値に近くなる2の累乗に設定
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

                       2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料




オープンするポート数
• outgoing-range
 ▫ オープンするポート数(スレッド毎)
• 最適化
 ▫ 可能な限り最大にする
 ▫ ファイル記述子1024個の制限
      1024/コア数 - 50
      1コア: 950
      2コア: 450
      4コア: 200
 ▫ libevent/libevを使うことで制限解除
9

                           2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料




スレッド毎に対応するクエリー数
• num-queries-per-thread
 ▫ スレッド毎に対応するクエリー数
• 最適化
 ▫ outgoing-rangeの半分に設定する
10

                                2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料




受信バッファサイズ
• so-rcvbuf
  ▫ 受信バッファサイズ
  ▫ SO_RCVBUFソケットオプション
• 最適化
  ▫ 4mを設定する
  ▫ あるいは、システムの受信バッファを設定
     Linux: /proc/sys/net/core/rmem_max
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

                  2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料




TTLの制限
• cache-max-ttl
  ▫ キャッシュ内のRRsetのTTLの最大値
  ▫ デフォルト: 86400
• cache-min-ttl
  ▫ キャッシュ内のRRsetのTTLの最小値
  ▫ デフォルト: 0
13

                           2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料




DNSKEYレコードのプリフェッチ
• prefetch-key (1.4.2以降)
 ▫ DSがあれば、DNSKEYを事前に取得
 ▫ 遅延が減る
 ▫ DNSSECの検証を有効にしているときには効果的
• 最適化
 ▫ prefetch-key: yes
14

日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料   2011-03-04
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

                               2011-03-04   日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料




フォーク
• スレッドの代わりにプロセスをフォークする方
  法
• ビルド時に指定
▫ ./configure --without-pthreads --without-solaris-
  threads
• ロッキング不要のため10~20%速度向上
• プロセス間ではキャッシュを共有しないことに
  注意
17

日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料   2011-03-04

More Related Content

What's hot

10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方wata2ki
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsYoshiyasu SAEKI
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)NTT DATA Technology & Innovation
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
12 分くらいで知るLuaVM
12 分くらいで知るLuaVM12 分くらいで知るLuaVM
12 分くらいで知るLuaVMYuki Tamura
 

What's hot (20)

10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 
12 分くらいで知るLuaVM
12 分くらいで知るLuaVM12 分くらいで知るLuaVM
12 分くらいで知るLuaVM
 
さくらのクラウド基礎知識
さくらのクラウド基礎知識さくらのクラウド基礎知識
さくらのクラウド基礎知識
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 

Viewers also liked

SSLとは何か?:What's SSL?
SSLとは何か?:What's SSL?SSLとは何か?:What's SSL?
SSLとは何か?:What's SSL?CyberHacks
 
ネットワークの暗号化
ネットワークの暗号化ネットワークの暗号化
ネットワークの暗号化Hiroki Kaneko
 
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史Takashi Takizawa
 
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証Takashi Takizawa
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Takashi Takizawa
 
#qpstudy 2015.11 20分でわかるPKI
#qpstudy 2015.11 20分でわかるPKI#qpstudy 2015.11 20分でわかるPKI
#qpstudy 2015.11 20分でわかるPKIMasahiro NAKAYAMA
 
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Takashi Takizawa
 
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)Takashi Takizawa
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門Takashi Takizawa
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)Takashi Takizawa
 
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -Takashi Takizawa
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門Takashi Takizawa
 
BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)Takashi Takizawa
 
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料Takashi Takizawa
 
DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)Takashi Takizawa
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 

Viewers also liked (20)

DNS RFC系統図
DNS RFC系統図DNS RFC系統図
DNS RFC系統図
 
SSLとは何か?:What's SSL?
SSLとは何か?:What's SSL?SSLとは何か?:What's SSL?
SSLとは何か?:What's SSL?
 
ネットワークの暗号化
ネットワークの暗号化ネットワークの暗号化
ネットワークの暗号化
 
RFCについての復習
RFCについての復習RFCについての復習
RFCについての復習
 
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史
 
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
 
#qpstudy 2015.11 20分でわかるPKI
#qpstudy 2015.11 20分でわかるPKI#qpstudy 2015.11 20分でわかるPKI
#qpstudy 2015.11 20分でわかるPKI
 
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
 
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
 
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
DNSのRFCの歩き方
DNSのRFCの歩き方DNSのRFCの歩き方
DNSのRFCの歩き方
 
BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)
 
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料
 
DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
nginx入門
nginx入門nginx入門
nginx入門
 

Similar to Unboundの最適化(OSC2011 Tokyo/Spring)

nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in LinuxTomofumi Hayashi
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging順也 山口
 
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009Tsukasa Oi
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch UsecasesSakiko Kawai
 
MySQL Technology Cafe No3
MySQL Technology Cafe No3MySQL Technology Cafe No3
MySQL Technology Cafe No3DAISUKE INAGAKI
 
Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
CephのベンチマークをしましたOSSラボ株式会社
 
LineairDBの紹介
LineairDBの紹介LineairDBの紹介
LineairDBの紹介Sho Nakazono
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overviewirix_jp
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視npsg
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Divemasahito12
 
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionHow to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionKiyoshi Ogawa
 
OSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼンOSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼンMasanori Itoh
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料Tetsuya Hasegawa
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)Insight Technology, Inc.
 

Similar to Unboundの最適化(OSC2011 Tokyo/Spring) (20)

nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linux
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
 
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
 
OpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR OpsOpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR Ops
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
MySQL Technology Cafe No3
MySQL Technology Cafe No3MySQL Technology Cafe No3
MySQL Technology Cafe No3
 
OpsからみたOpenStack Summit
OpsからみたOpenStack SummitOpsからみたOpenStack Summit
OpsからみたOpenStack Summit
 
Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
Cephのベンチマークをしました
 
LineairDBの紹介
LineairDBの紹介LineairDBの紹介
LineairDBの紹介
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overview
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Dive
 
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionHow to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
 
OSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼンOSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼン
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
 

Unboundの最適化(OSC2011 Tokyo/Spring)

  • 1. 1 Unboundの最適化 日本Unboundユーザ会 滝澤隆史 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料
  • 2. 2 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04
  • 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 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04
  • 5. 5 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 スレッド数 • num-threads ▫ スレッド数を設定する • 最適化 ▫ システムのCPUのコア数と同じくする
  • 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 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 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 オープンするポート数 • outgoing-range ▫ オープンするポート数(スレッド毎) • 最適化 ▫ 可能な限り最大にする ▫ ファイル記述子1024個の制限  1024/コア数 - 50  1コア: 950  2コア: 450  4コア: 200 ▫ libevent/libevを使うことで制限解除
  • 9. 9 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 スレッド毎に対応するクエリー数 • num-queries-per-thread ▫ スレッド毎に対応するクエリー数 • 最適化 ▫ outgoing-rangeの半分に設定する
  • 10. 10 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 受信バッファサイズ • so-rcvbuf ▫ 受信バッファサイズ ▫ SO_RCVBUFソケットオプション • 最適化 ▫ 4mを設定する ▫ あるいは、システムの受信バッファを設定  Linux: /proc/sys/net/core/rmem_max
  • 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 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 TTLの制限 • cache-max-ttl ▫ キャッシュ内のRRsetのTTLの最大値 ▫ デフォルト: 86400 • cache-min-ttl ▫ キャッシュ内のRRsetのTTLの最小値 ▫ デフォルト: 0
  • 13. 13 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 DNSKEYレコードのプリフェッチ • prefetch-key (1.4.2以降) ▫ DSがあれば、DNSKEYを事前に取得 ▫ 遅延が減る ▫ DNSSECの検証を有効にしているときには効果的 • 最適化 ▫ prefetch-key: yes
  • 14. 14 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04
  • 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 2011-03-04 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 フォーク • スレッドの代わりにプロセスをフォークする方 法 • ビルド時に指定 ▫ ./configure --without-pthreads --without-solaris- threads • ロッキング不要のため10~20%速度向上 • プロセス間ではキャッシュを共有しないことに 注意
  • 17. 17 日本Unboundユーザ会 OSC 2011 Tokyo/Spring発表資料 2011-03-04