[PHP] xdebug.remote_hostを正しく設定したら速度が劇的に改善した

シェアする

ヨメレバCSS

 割と単体では気付かないかも知れないのでメモしておきます。

 xdebugを使用している環境で、設定を見直したら1.5倍速く、xdebugをオフにしたらさらに1.5倍速くなりました。(倍率は自分の環境のものです)

 ただ主にデバッグ用のモジュールであるため、本番環境で動作していることはないと思います。開発環境が妙に重いと感じるときなどに確認してみるとよいかもしれません。

スポンサーリンク
GoogleAdSence レクタングル(大)

xdebug.remote_hostは存在する(通信出来る)ホストにする

 まず引っかかっていた部分ですが、remote_hostに存在しないアドレスが書かれていると、実行速度が遅くなってしまうようです。適切なホストIPアドレスに変更したら実行速度が1.5倍になりました。

 デバッグで常に使用しているものだから普通このようなことは無いと思うところですが、逆に今時だとVagrantやDockerなどの仮想環境を使用しているため、にコンテナの設定が古かったり違う環境のものだったりして、知らずのうちにこのような設定になっているかもしれません。(私がそうでした)

 Dockerはコンテナと手元の設定ファイルがずれてしまうので、気付きにくいところもありますね。shellでログインして確認するか、buildし直してみると良いと思います。

xdebug.soの読み込みをオフにする

 それでさらに、xdebugそのものを無効にしたらどうなるかと思ってxdebug.soを読み込んでいるところをコメントアウトしてみたところ、さらに1.5倍速くなりました。

 元々の速度からすると倍以上ですね。

 xdebugは遅いと言われていましたが、予想以上にパフォーマンスに影響を与えていました。

profileの出力も遅かった

 これは測定したわけではありませんが、profiler_enable=1として詳細なprofileを出力したときもめっさ遅くなりました。

 このときは同時にファイル開きすぎでToo many open filesエラーが発生してしまいましたので速度どころではなくなりましたが…

 xdebugのプロファイラは必要なときに設定するようにしないといけないですね

スポンサーリンク
GoogleAdSence レクタングル(大)