オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

ProDHCP最新版の性能

»

回線事業者を中心に多くの導入実績を誇るProDHCPですが、最近、大きなレンジでの払い出し性能を高速化し、最新バージョンをリリースしました。従来、/24など細かいレンジが多数ある設定が多かったため、Ver.13系までは細かいレンジでの性能を優先し、/16などの大きなレンジではあまり性能が高くなかったのですが、最新のVer.14系ではレンジの大きさに関係なく高性能になりました。

ということで、まじめに性能を測定し直そうということになり、環境もそれなりにきちんと準備して測定しました。

スクリーンショット 2016-07-30 23.29.43.png

まずは最新版での改善点であるレンジの大きなセグメントでの払い出し性能です。Ver.13系までは/24と/16でかなりの差がありましたが、Ver.14系ではほぼ同じくらいになりました。

スクリーンショット 2016-07-30 23.29.53.png

続いて、冗長化の有無による性能差です。ProDHCPの冗長化ではリース状態の変化をリアルタイムで同期しますので、いつ冗長化を切り替えても全く運用には影響が出ないのですが、少し性能には影響が出ます。それでも回線事業者クラスの現場でも十分すぎる性能でしょう。

スクリーンショット 2016-07-30 23.30.01.png

ProDHCPではDHCPOFFER前に既にIPアドレスが存在していないかを調べるpingチェックをOn/Offできます。これ自体はそれほど性能差は出ないのですが、標準では300ミリ秒待つため、小さいレンジで負荷をかけ続けると空きがなくなって測定結果としては性能が低くなってしまいます。実際は1つのセグメントだけに負荷が集中することは少ないため、pingチェックがOnでも問題なく、多くの現場でOnで運用しています。

スクリーンショット 2016-07-30 23.30.08.png

回線事業者では犯罪調査などのために、払い出し履歴を保管しなければならず、ログ出力はとても重要なのですが、実はSyslog出力はそれなりにオーバーヘッドが大きいので、性能に影響が出ます。ProDHCPではSyslogとアプリ独自のログをそれぞれ自由な閾値設定で使うことができますが、一般的にはやはりSyslogを使うことが多く、性能は少し落ちてしまいます。もっとも、それでも十分高速です。なお、Syslogの設定で、「都度ディスクに完全に同期させる」状態で使うととても遅くなりますので、DHCPのログ出力の場合にはその設定は変更しておくことをお勧めします。rsyslog.confでは出力先パスの先頭に'-'をつければOKです。

スクリーンショット 2016-07-30 23.30.18.png

最後に、有償オプションなのですが、Option82による固定IP払い出しの性能です。Option82は回線事業者では払い出しのフィルターなどに使うケースが多いのですが、これを固定IPアドレスのキーにすると機器交換がとても便利になるということから、一部の事業者ではこの仕組みでDHCPサーバを運用しています。ところが、汎用的なifやclassなどを使うと性能がかなり落ちてしまいますので、ProDHCPではOption82で固定ホスト定義が記述できるオプションを開発しました。

現在製品ページに公開している性能に比べ、全体的にかなり高い数値になっていますが、測定環境がそれなりにまともな環境になったためです。まだこの資料は正式に公開する準備ができていませんが、とりあえず、

http://www.ncad.co.jp/products/prodhcp/pdf/dhcpperf-4.pdf

に置いておきましたので、必要な方はダウンロードしてお使い下さい。

8月1日追記:

製品ページサポートサイトから参照できるようにしました。

Comment(2)