ホームページ >バックエンド開発 >PHPチュートリアル >高性能 PHP ログ ソリューションのアイデア

高性能 PHP ログ ソリューションのアイデア

WBOY
WBOYオリジナル
2016-07-28 08:26:481263ブラウズ

高性能 php ログ ソリューションの想像

高性能 php ログ ソリューション

ログは 2 つのステップで完了します:

  • ログ情報はリアルタイムでメモリ キャッシュに書き込まれます パフォーマンスのオーバーヘッドを最小限に抑える
  • crontabのタイミング収集してメモリキャッシュ内のデータベースまたはファイルに書き込む

特定のアルゴリズム: (laravelフレームワーク)

  • 定数を設定: imax=10000000、2つの変数iwrite=1、iread =1. (iwrite ログ書き込みポインター、iread ログ読み取りポインター、iread <=iwrite、2 つの変数値はメモリ キャッシュに保存されます)
  • ログが生成されるたびに、「キャッシュ:」を使用します。 :increment (iwrite)" iwrite 増分値を取得します。値が imax より大きい場合、1 にリセットし、ログをキャッシュに保存します。キー: 'log_'+iwrite、値: ログの内容
  • crontab は 30 秒ごとにコマンド ラインを呼び出してログを収集します。「Cache ::increment(iread)」を使用して iread の増分値を取得します。値が iwrite より大きい場合は停止し、値が 1 にリセットされます。キャッシュからログを読み取り、バッチで保存します。最後に、キャッシュからログを削除します。

メモリキャッシュは、apc、xcacheなどを使用できます。

Cache::increment、laravelフレームワークに属します 組み込みメソッドは、laravel フレームワークではない場合、自分でカプセル化できます。

まだ時間がないので、最初に私の考えを記録します、 将来時間があるときに練習してからコードを送信してください。

上記では、さまざまな側面を含めて、高パフォーマンスの PHP ロギング ソリューションのアイデアを紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。