Statistics 如何使用>;30米测量

Statistics 如何使用>;30米测量,statistics,log-analysis,Statistics,Log Analysis,考虑一个Java应用程序,该应用程序接收金融交易,通过应用多个检查来确定其有效性,例如在合同和法律约束下是否允许交易。应用程序实现了一个JMS消息处理程序来接收一个队列上的消息,并实现了第二个队列来将消息发送回使用者 为了测量响应时间并启用后处理性能分析,应用程序会记录几个步骤的开始和结束时间,例如接收消息、处理、准备和将答案发送回客户端。应用程序每天接收大约300万条消息,因此是时间测量数的倍数(每天记录的测量数约为1800万条)。每个测量由以下数据组成:测量ID(例如接收开始/结束、处理开始

考虑一个Java应用程序,该应用程序接收金融交易,通过应用多个检查来确定其有效性,例如在合同和法律约束下是否允许交易。应用程序实现了一个JMS消息处理程序来接收一个队列上的消息,并实现了第二个队列来将消息发送回使用者

为了测量响应时间并启用后处理性能分析,应用程序会记录几个步骤的开始和结束时间,例如接收消息、处理、准备和将答案发送回客户端。应用程序每天接收大约300万条消息,因此是时间测量数的倍数(每天记录的测量数约为1800万条)。每个测量由以下数据组成:测量ID(例如接收开始/结束、处理开始/结束、发送开始/结束)、java.lang.system.nanoTime()给定的时间戳、唯一的消息ID。时间测量被发送到日志文件

为了找到处理时间,日志文件每天被转换并存储在MySQL数据库中。这是通过一系列Python脚本完成的,这些脚本获取原始日志数据,将其转换并存储到一个MySQL表中,其中每个记录对应于一条已处理的消息,每个度量值位于一列中(即,该表根据唯一的消息id对记录进行分组)

我的问题是:分析这个相对较大的数据集(考虑一个月或几个月的日志数据)的最佳策略和工具是什么?我特别想计算和绘制:

a) 在选定的时间范围内(如每月、每天、每小时),测量值在响应时间(如发送结束-接收开始)方面的分布。
b) 在选定的时间段(例如天、周、月、年)内,每个时间单位(秒、小时、天、周、月)的消息频率


我们非常感谢您提供有关您个人体验的任何提示或报告。

我们在splunk处理/报告大型日志文件方面取得了很大成功。它是专门为此目的而构建的工具。您可以在数据文件上运行类似SQL的查询,以获得所需的报告/图形类型。我相信这可能会非常昂贵,IIRC会根据您处理的数据量向您收费