Spring+MyBatis+SNMP+Postgresql的监控系统,需要处理日志里的交易信息,日志形如:
----交易开始----
(交易信息)
----交易结束----
日志按小时分文件。
我的需求是5分钟扫一次日志,把交易成功数汇总,把失败交易写入监控数据库,目前我是把log文件映射为数据库表,用for循环每次取一个交易的信息解析,尝试了一下每个log里有5K个交易,5分钟别说解析完,就连映射到数据库表的时间都不够。映射用的是PG创建外部表的功能:
CREATE SERVER pglog FOREIGN DATA WRAPPER file_fdw;
CREATE FOREIGN TABLE pglog SERVER pglog OPTIONS (filename 'xxxx', format...;
在不上内存数据库、NoSQL的前提下,有没有最简单的方案能提高日志分析的速度?或者说我需要放弃映射为数据库表这条路,走别的路?
慕后森
萧十郎
相关分类