日志系统模块的探讨

问题1:使用数据库还是使用文件来做日志系统?

方案1:

如果这个日志是需要定期分析的,写在数据库里更方便处理;反之只是留档,就存文件里
但2种方式都要注意写操作的频率,绝对不能产生一行写一行,中间加一个内存队列来过渡,比如memcache,有新日志就加入队列,然后做个定时器去批量写入文件并清空队列,同时也规避文件冲突了

方案2:

必须写文件的,我5W的并发都是写文件,你还担心IO问题?

方案3:

如果小量的写数据库没事.

如果是大量的,肯定写文件好. 汇总后写程序导入数据库.

还有一种方法是写redis等内存数据库,并累积数量后触发合并写入数据库操作.

方案4 【自己验证】-----验证方式   ab压力测试

1)、单纯使用数据库(并分析出优缺点)

①、请求1000、5000 、10000 、100000 ;并发1000 、5000 、10000、100000的数据统计

②、1000条、5000条、10000条、100000条数据读取速度,以及筛选 速度

2)、单纯使用文件(并分析出优缺点)

①、请求1000、5000 、10000 、100000 ;并发1000 、5000 、10000、100000的数据统计

②、1000条、5000条、10000条、100000条数据读取速度,以及筛选 速度

3)、文件+数据库结合(并分析出优缺点)

①、请求1000、5000 、10000 、100000 ;并发1000 、5000 、10000、100000的数据统计

②、1000条、5000条、10000条、100000条数据读取速度,以及筛选 速度

原文地址:https://www.cnblogs.com/sz-xioabai/p/11687738.html