2
私は非リアルタイムゲームのバックエンドになるPHP/CodeIgniter Webアプリケーションを開発しています。私たちは後の分析のためにゲームの活動を記録する能力が必要です。 codeigniter独自のログシステムまたはlog4phpを使用している私のパフォーマンステストでは、ファイルのロギングが遅くなり、サーバが50%処理できる1秒あたりのリクエスト数が減ります。私はWAMPマシンとApache/Ubuntuサーバーの両方で試しました。 MongoDBを使用するようにロギングを変更すると、同じ量の情報をロギングしていても、パフォーマンスは数パーセント低下します。PHPでログインするのは効率的ですか?
ファイルロギングは、すべて同じファイルのロックを待機しているか、設定に問題がある可能性があるため、本質的に遅くなりますか?
MongoDBに切り替えたときにパフォーマンスが低下したことが少し驚いています。ファイルを高速化する唯一の方法は、ファイルに追加するだけです。しかし、これらのログではどうしますか?データベースを使用する方が良いかもしれません。 – NullUserException
あなたがどのくらいロギングしているかは、ロギングの方法と同じくらい重要であることに注意してください。まだ行っていない場合は、ログ情報の冗長性を間引くことを検討してください。アクションIDを使用して後でデコードする価値があるかもしれません。 –
あなたは何をロギングしていて、どれくらい大きいのですか?私はそれがr/sを50%殺すだろうと信じるのは難しいでしょう... error_logを使用して目的のログファイルを指定できませんか?あなたは本当にsapi関数よりもはるかに高速になることはできません。 – Aknosis