ProDHCPを採用いただいたお客さんのところで、どうしても性能が出ないということで調査を続けていました。仮想環境で動いているとか様々な条件を合わせて動作確認してもなかなか再現ができず、かなり行き詰まった状態だったのですが、昨晩、ほぼこれだろうという問題を見つけました。 syslogです。syslogは、システムのログを記録するための仕組みで、UNIX系では古くから使われています。ログレベルによる管理や出力先の管理など、多機能で便利なのですが、昔から「syslogは遅い」ということは知っていました。単に自分でファイルに書き込むのに比べると圧倒的に遅いですし、あまりに頻繁な書き込みを行うとアプリがハングアップしてしまうことも何度も経験しています。従って、デバッグに必要な詳細なログはファイルに自力で書き込み、syslogには運用・管理面で必要最低限なログのみ記録するというのがルールになっている