こんにちは、しずかです。
当社の監視サービスの一部では、New Relicを利用しています。先日導入予定のお客様からこんなご質問をいただきました。
「監視エージェントをインストールすることで、サーバへの負荷はどれほどか?」
多くの監視サービスで、エージェントを使用する製品は多くあるかと思います。それらのほとんどはエージェントによる負荷上昇は微小なものかと思います。
しかし実際にどれほどなのか気になったので、ブログにまとめてみました。
New Relicドキュメント
New Relic社の場合、監視エージェント(Infrastructure agent)の負荷について、以下のドキュメントが公開されています。
このドキュメントに、以下の記載があります。
インフラストラクチャエージェントは軽量なソフトウェアで、ホストのパフォーマンスへの影響を最小限に抑えるように設計されています。
またベンチマークの結果も公開されています。
Linuxシングルタスクホスト
このエージェントは、従来のシングルタスクのホスト上では、パフォーマンスのオーバーヘッドが非常に小さくなっています。例えば、Apache、Unicorn、または単一のJavaアプリケーションを実行しているサーバーなどです。
このタイプのホストのベンチマークは、 Amazon EC2 t3.2xlarge をベースにしています。
vCPU: 8 vCPU
メモリ: 32.0 GB
ストレージ: 160.0 GB
オペレーティングシステム: CentOS 7このような古典的なシングルタスクのホストの場合、典型的な使い方は
CPU :約0.3%。
仮想メモリ: 約1GB
常駐メモリ: 25~35MB
ディスクへの保存: 約50MB
では実際にどれほどの負荷がかかるのか調査していきたいと思います。
調査してみた
構成と検証パターン
今回はAWS上のEC2インスタンスを使用して、3つのインスタンスタイプについて調査してみました。
New Relicエージェントのインストール前後を詳細に見たいので、Zabbixエージェントを事前にインストールしています。
インスタンスタイプ | vCPU | メモリ | ボリュームサイズ | OS | 追加パッケージ |
---|---|---|---|---|---|
t2.micro | 1 | 1 | 8 (gp3) | AmazonLinuix2 | Zabbix-agent |
t2.medium | 2 | 4 | 8 (gp3) | AmazonLinuix2 | Zabbix-agent |
t2.xlarge | 4 | 16 | 8 (gp3) | AmazonLinuix2 | Zabbix-agent |
それではNew Relicの監視エージェントのインストール前後で、CPU使用率、メモリ空き容量、ディスク使用量を比較していきたいと思います。
t2.micro
CPU使用率
インストール作業中の上昇は確認できますが、その前後での差はあまり無いように見受けられます。
作業前後での1時間平均を見てみます。
作業前1時間のCPU使用率の平均は、約0.09%
でした。
作業後1時間のCPU使用率の平均は、約0.61%
でした。
この構成では、平均値で 約0.52% の上昇がありました。
メモリ空き容量
こちらはインストール作業による大きなメモリ使用が確認でき、その前後でも変化が見受けられます。
作業前1時間のメモリ空き容量の平均は、733.42 MB
でした。
作業後1時間のメモリ空き容量の平均は、698.83 MB
でした。
この構成では、平均値で 約34.59 MB のメモリ使用量が増加していました。
ディスク使用量
こちらもインストール作業前後での変化が見受けられます。
作業前1時間のディスク使用量の平均は、1.61 GB
でした。
作業後1時間のディスク使用量の平均は、1.78 GB
でした。
オーダーが大きいので値で見てみると、作業前1時間平均値が 約1645.41 MB
、作業後1時間平均値が 約1824.75 MB
でした。
つまり、平均値で 約179.34 MB のディスクが使用されていました。
t2.medium
CPU使用率
先ほどと同様に、インストール作業中の上昇は確認できますが、前後での差はあまり無いようです。
作業前1時間のCPU使用率の平均は、約0.08%
でした。
作業後1時間のCPU使用率の平均は、約0.45%
でした。
この構成では、平均値で 約0.37% の上昇がありました。
メモリ空き容量
インストール作業による大きなメモリ使用が確認でき、その前後でも変化が見受けられます。
作業前1時間のメモリ空き容量の平均は、3.52 GB
でした。
作業後1時間のメモリ空き容量の平均は、3.49 GB
でした。
オーダーが大きいので値で見てみると、作業前1時間平均値が 約3608.86 MB
、作業後1時間平均値が 約3571.37 MB
でした。
つまり、平均値で 約37.49 MB のメモリ使用量が増加していました。
ディスク使用量
こちらもインストール作業前後での変化が見受けられます。
作業前1時間のディスク使用量の平均は、1.61 GB
でした。
作業後1時間のディスク使用量の平均は、1.78 GB
でした。
オーダーが大きいので値で見てみると、作業前1時間平均値が 約1645.50 MB
、作業後1時間平均値が 約1824.73 MB
でした。
つまり、平均値で 約179.23 MB のディスクが使用されていました。
t2.xlarge
CPU使用率
こちらも同様に、インストール作業中の上昇は確認できますが、前後での差はあまり無いようです。
作業前1時間のCPU使用率の平均は、約0.02%
でした。
作業後1時間のCPU使用率の平均は、約0.15%
でした。
この構成では、平均値で 約0.13% の上昇がありました。
メモリ空き容量
インストール作業の前後で変化が見受けられます。
作業前1時間のメモリ空き容量の平均は、15.25 GB
でした。
作業後1時間のディスク使用量の平均は、15.22 GB
でした。
オーダーが大きいので値で見てみると、作業前1時間平均値が 約15620.16 MB
、作業後1時間平均値が 約15581.76 MB
でした。
つまり、平均値で 約38.40 MB のメモリ使用量が増加していました。
ディスク使用量
インストール作業の前後で変化が見受けられます。
作業前1時間のディスク使用量の平均は、1.61 GB
でした。
作業後1時間のディスク使用量の平均は、1.78 GB
でした。
オーダーが大きいので値で見てみると、作業前1時間平均値が 約1645.56 MB
、作業後1時間平均値が 約1824.93 MB
でした。
つまり、平均値で 約179.37 MB のディスクが使用されていました。
まとめ
監視エージェントのインストール前後で、リソースの変化状況をまとめると以下の通りになりました。
インスタンスタイプ | CPU使用率 | メモリ使用量 | ディスク使用量 |
---|---|---|---|
t2.micro (1vCPU, 1G mem) | 約0.52% 増加 | 約34.59 MB 増加 | 約179.34 MB 増加 |
t2.medium (2vCPU, 4G mem) | 約0.37% 増加 | 約37.49 MB 増加 | 約179.23 MB 増加 |
t2.xlarge (4vCPU, 8G mem) | 約0.13% 増加 | 約38.40 MB 増加 | 約179.37 MB 増加 |
監視エージェントインストールによる負荷上昇はあるものの、それらは微小なものである、と言えるのではないでしょうか。
結果は予想通りかもしれませんが、CPU使用率はコア数が増えるほど上昇率は低くなっていました。またメモリは 約34~38MBの増加、ディスクの使用量は 約179 MB の増加がありました。
今回の調査結果は、あくまでもほぼ何もインストールされていないサーバです。実際にご利用中のサーバにインストールする際はこの限りではありませんので、あくまでも参考までにしていただければ幸いです。
最後まで読んでいただき、ありがとうございました。
静 優(執筆記事の一覧)
オンプレからクラウドに転身したインフラエンジニア