问题描述
最近在做一个系统的优化,希望能得到大家的帮助
这是一个比较原始的统计系统,统计的是应用中的埋点日志。统计的量级在每天 5000w 行左右,文件大小在 5G 左右。
现在的统计方法是,将日志按行读取,解析出来放在内存中,为啥呢,因为埋点的日志之间有关联性,需要在内存中将这其中的埋点日志关联关系找出来,比如说埋点日志状态跳转 A->B->C->D,A/B/C/D 都是一条埋点日志 结构是一样的 但是具体的信息不同,尤其是其中包含的状态信息不同。
现有问题
- 现有的统计方式对内存使用量非常大,我们现在的机器已经接近内存上限,只能对内存进行扩容 /改变统计方式
可能的解决方法
- 优化存储在内存中的结构,这部分已经完成了,减少了 20%左右的内存使用
- 改变现有的统计方式
希望得到的帮助
- 有什么更好的方式能直接找到各个日志之间的关联关系