高性能php日志方案设想
高性能php日志方案
日志分两步完成:
- 日志信息实时写入内存缓存中,最大程度减少性能开销
- crontab定时从内存缓存中收集写入数据库或文件
具体算法:(laravel框架)
- 设置一个常量: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教程有兴趣的朋友有所帮助。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn