高性能 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 チュートリアルに興味のある友人に役立つことを願っています。