高效能php日誌方案設想
高效能php日誌方案
日誌分兩步驟完成:
- 日誌資訊即時寫入記憶體快取中,最大程度減少效能開銷
- crontab定時從記憶體快取收集寫入資料庫或檔案
具體演算法:(laravel框架)
- 設定一個常數:imax=10000000, 兩個變數>設定一個常數:imax=10000000, 兩個變數iwrite=1,iread =1. ( iwrite日誌寫入指針, iread 日誌讀取指針,iread
-
每產生一條日誌,使用「 Cache::increment(iwrite)」獲得iwrite的遞增值,如果值大於imax ,重置為1,將日誌存入緩存,鍵:'log_'+iwrite , 值:日誌內容
-
crontab 每30秒調用命令行,收集日誌,使用“ Cache::increment(iread)”獲得iread的遞增值,如果等於iwrite ,則停止, 如果值大於imax ,重設為1,從快取中讀取日誌並批次入庫。最後從快取中刪除日誌。
記憶體快取可以使用 apc ,xcache,等。
Cache::increment ,屬於 laravel框架
內建方法, 如果不是laravel框架,可以自行封裝。
暫時沒有時間,先記錄想法,先記錄想法,
以後有時間 ,實作一下 ,再將程式碼發出來。
以上就介紹了 高效能php日誌方案設想,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。