場合によりけりですが、私はほぼ常にrestartしています。
restartよりもreload(apachectlではgraceful)の方が処理が早く、また、ダウン時間がほとんどありません。しかし、reloadした場合に次のような事が発生する可能性があります。
- PHP、FastCGI、Passenger、mod_perl等のプログラムを実行するようなモジュールがバグでメモリリークを起こす場合がある。
- そればかり、Apache HTTP Server自体のバグでメモリリークを起こす場合もある。
- 一部の設定が反映されない、または、中途半端に反映されるなどのバグがあるときがある。
- Apache HTTP Serverのバグ等により異常な状態になり、停止やハングアップするときがある。
ほとんどのバグは常に修正されてきていますので、上記のことは起きない可能性も十分にあります。また、メモリリーク系は一回限りのreloadなら無視しても構わないでしょう。しかし、新たなバグにより、設定の未反映や異常動作等が発生する可能性が0ではないため、安全性をみてrestartしています。
なお、restartでは停止時間が発生するという問題については、サーバーの冗長化で対応しています。どちらにしてもOSの定期的なアップデートのためにサーバー自体の再起動が必要ですので、定期的にサーバー単位での停止時間が必ず発生することを前提に構成を考えないと、24時間365日の動作はできません。
2018/04/14 16:36