0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[2021Jan] Zabbix Frontend の消費メモリ量をミニマイズしたい

Posted at

はじめに

とあるホストに間借りして Zabbix を設置しようとしたとき、そんなにリッチなリソースが利用可能だったわけでなく、なるべく消費メモリ量を削減する必要がありました。
それと、そういえば nginx で php 動かしたこと無いなーということで、それも試してみたくなりました。

というわけで、各 HTTP Server で Zabbix Frontend を動作させたときの消費メモリ量を調べました。

そして今更 nginx には CGI 機能が無いということに驚愕してみたり。

諸元

利用したモジュール

項目 内容
OS CentOS 7.9.2009 x86_64
Zabbix MIRACLE ZBX 5.0.8-3
PHP7 remi 7.3.26-1
apache 2.4.6-97
nginx epel 1.16.1-3
lighttpd epel 1.4.54-1

SCL の rh-php には apache 用のモジュールが入っていません。libphp7.so という名前のファイルは入ってますが、これは configure スイッチの --enable-embed で生成されるファイルであって apache で使えません。

SCL の rpm ってモジュール構成とかビルド設定に互換性が無くて使いづらかったりしますよねぇ。あと approve されないままだったり。複数バージョンが共存できるようになっている点は助かりますが。

php 実行環境

項目 内容
apache php7_module (libphp7.so)
nginx php-fpm (UNIX Socket)
lighttpd php-cgi

計測方法など

  • 起動して、しばらく操作して、ちょっと落ち着いたところで平均を算出
  • 1人で操作、ブラウザからの接続も1つ
  • 30sec 間隔で監視、もちろん Zabbix で
  • PSS の値

結果

単位は MiB です。

項目 合計 http server php
apache 118.87 n/a n/a
nginx 64.37 3.36 61.01
lighttpd 24.57 1.93 22.64

参考まで、php-fpm と組み合わせた場合の apache は 5MiB くらいでした。

ということで lighttpd が最小です。

むかし、Intel NUC で Zabbix Server + Agent + Frontend を11セット動かして1日稼動させる、というお仕事をしていましたが、そこで利用していたのも lighttpd でした。もっとも、その時点では nginx を好きじゃなかったので non apache と言えば lighttpd の一択だったわけですけど。Docker じゃなくて lxc しかもシステムコンテナでしたし。

そもそも

Frontend を止めてしまっても Zabbix の監視は止まらないので、不要な時は止めておくのが良いですね。

もっと言えば、リモートで DB に繋げられるならローカル(ブラウザを開いている手元のホスト)で動かすのが正解って気もします。

おわりに

lighttpd は奇跡的にメンテが続いてます。ありがたい。ありがとうございます。もうしばらく lighttpd 使っていこうと思います。

nginx は HTTP Reverse Proxy には便利ですが、FastCGI 環境とか、使いづらいユースケースもありますねぇ。Docker だと monit とか併用するんでしょうか。それはそれで面白いけど。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?