EasyBlocks Syslog ProLineで受信性能&負荷状況を確認してみた

以前、「ログの受信性能はどの程度か?」というお問い合わせにお答えする形で、EasyBlocks Syslog HX 2Tを使用してログ受信時の性能や負荷状況を可視化した記事を公開しました。

今回は同様の検証を、EasyBlocks Smart log seriesの最上位モデルであるEasyBlocks Syslog ProLineを使用して実施してみます。

近年、特に公共・自治体などの大規模ネットワーク環境において、EasyBlocks Syslogシリーズの最上位モデルであるEasyBlocks Syslog HX 2Tでもストレージ容量が不足するケースがあり、より大容量に対応可能なEasyBlocks Syslog ProLineへのお問い合わせをいただく機会が増えています。

その際によくいただくのが、「ログの受信性能はどの程度なのか?」というご質問です。

EasyBlocks Syslog ProLineを使用した性能検証記事はこれまで公開していなかったため、今回は実機を使用してログ受信時の負荷状況を確認してみたいと思います。

はじめに

以前の記事でも触れていますが、重要なポイントのため改めて記載します。

EasyBlocks Smart log seriesでは、モデルに関わらずログ保存容量の目安として「1ヶ月あたりのログ保存量はストレージ総容量の20%以下」での運用を推奨しています。これは、ログの蓄積によるストレージの急迫やパフォーマンス低下を防ぎ、安定した運用を続けるための目安として設けているものです。

ただし、この指標だけではモデル選定の判断が難しいというお声をいただくこともあるため、本記事では一定量のログを受信している状態でEasyBlocks Syslog ProLineの負荷状況がどの程度になるのかを可視化して確認してみます。

なお、負荷が高くないからといって必ずしも問題がないとは言い切れませんが、モデル選定時の参考情報の一つとしてご覧いただければと思います。

※本記事では「秒間○○件」のログ受信を前提に検証していますが、記載している受信件数を保証するものではありません。あくまで参考値としてご理解ください。

使用する製品と設定について

今回使用する製品は以下です。

使用する製品:EasyBlocks Syslog ProLine

ログ受信時にはSYSLOGプロセスでの受信処理とデータベースへの書き込み処理が同時に走るため、それぞれの負荷とシステム全体への影響をCPUロードアベレージで合わせて確認しています。
今回の検証では以下の3項目を中心に負荷状況を確認します。

・CPUロードアベレージ
・SYSLOGプロセスのCPU使用率
・データベースプロセスのCPU使用率

また、EasyBlocks Syslog ProLineはEasyBlocksシリーズの中で唯一、CPU、メモリ、NIC、ストレージ、といったハードウェア構成をカスタマイズできるモデルとなっています。

標準構成は製品ページに掲載されているEasyBlocks Syslog ProLine 4Tですが、今回検証で使用した構成は以下の通りです。

項目 構成
CPU Intel Xeon系 6コア12スレッド 3.6GHz
メモリ 64GB
ストレージ 12TB SAS HDD ×3(RAID5)
NIC 1GbE

実測パターン

ログ受信負荷の確認は、以下の4パターンで実施しました。

<パターン1>

秒間:5,000件送信
ログサイズ:平均100byte程度
プロトコル:UDP
送信数:18,000,000件
送信時間:1時間

<パターン2>

秒間:10,000件
ログサイズ:平均100byte程度
プロトコル:UDP
送信数:36,000,000件
送信時間:1時間

<パターン3>

秒間:15,000件送信
ログサイズ:平均100byte程度
プロトコル:UDP
送信数:54,000,000件
送信時間:1時間

<パターン4>

秒間:20,000件送信
ログサイズ:平均100byte程度
プロトコル:UDP
送信数:72,000,000件
送信時間:1時間

実測結果

負荷結果パターン1(5,000件/秒)

CPUロードアベレージ(5分平均)
最大値:0.5332
平均値:0.3271

SYSLOGプロセス(赤)
最大値:21.6%
平均値:19.46%

データベースプロセス(緑)
最大値:9.3%
平均値:8.63%

負荷結果パターン2(10,000件/秒)

CPUロードアベレージ(5分平均)
最大値:0.5762
平均値:0.4262

SYSLOGプロセス(赤)

最大値:19.7%
平均値:18.30%

データベースプロセス(緑)

最大値:18.3%
平均値:17.29%

負荷結果パターン3(15,000件/秒)

CPUロードアベレージ(5分平均)
最大値:0.6738
平均値:0.4909

SYSLOGプロセス(赤)

最大値:21.3%
平均値:20.02%

データベースプロセス(緑)

最大値:21.1%
平均値:20.13%

負荷結果パターン4(20,000件/秒)

CPUロードアベレージ(5分平均)

最大値:0.9448
平均値:0.8262

SYSLOGプロセス(赤)

最大値:31.9%
平均値:30.46%

データベースプロセス(緑)

最大値:38.5%
平均値:36.76%

負荷状況まとめ

秒間5,000件、10,000件、15,000件、20,000件の4パターンでログ受信時の負荷状況を確認しました。

結果として、ログ受信件数の増加に応じてSYSLOGプロセスおよびデータベースプロセスのCPU使用率は段階的に上昇する傾向が確認できました。一方でCPUロードアベレージには大きな変化は見られませんでした。

秒間20,000件受信時には、SYSLOGプロセスが約30%、データベースプロセスが約36%のCPU使用率となりました。ただし、これらは単一CPUコアに対する使用率を示しています。つまり「SYSLOGプロセスが30%」とは、1コア分のリソースを30%使用しているという意味であり、複数コアを持つCPU全体の負荷を示すものではありません。

今回の検証環境は6コア12スレッド構成のため、CPUロードアベレージ12がCPUフル稼働の目安となりますが、今回の最大値は0.94に留まっており、CPUリソースには十分な余裕がある結果となりました。

なお、本結果は検証環境での測定値のため、実際のネットワーク環境や運用状況によって負荷状況は変化する可能性があります。あくまで参考値としてご覧ください。

受信率について

今回の構成ではストレージにSAS HDDを使用しています。受信率の結果は以下の通りでした。

秒間ログ数 受信率
5,000件 99.99%以上
10,000件 99.99%以上
15,000件 約99.97%
20,000件 約99.78%

秒間15,000件を超えるあたりから受信率の低下が見られたため、SAS HDD構成では秒間10,000件以下での運用が安定すると考えられます。秒間10,000件を超えるログ量が想定される環境では、SSD構成を選択することでより安定した受信率を確保できる可能性があります。

なお、参考としてSSD構成でも秒間20,000件の受信率を確認したところ、99.99%以上という結果となりました。

受信率の結果からも分かる通り、ログ受信性能に影響を与える要因としてはCPUよりもストレージ性能の影響が大きいと考えられます。

※今回使用したHDDおよびSSDは社内検証用のため、実際の製品に搭載されるストレージとは回転数などの仕様が異なる可能性があります。

さいごに

今回はEasyBlocks Syslog ProLineを使用して、4つのパターンでログ受信時の負荷状況を確認しました。

今回の検証環境では、CPU負荷については比較的余裕がありましたが、ログ受信率の観点ではストレージ性能が影響する可能性が高いことが確認できました。

そのため、「HDD構成」「SSD構成」といったストレージ選定は、想定されるログ量に応じて検討することが重要になります。秒間10,000件以下であればHDD構成でも安定した運用が見込めますが、それを超える環境ではSSD構成の採用をご検討いただくことをおすすめします。

本記事の内容が、EasyBlocks Syslog ProLineのモデル選定時の参考になれば幸いです。

タイトルとURLをコピーしました