2010-05-21 40 views
3

说实话,开发人员生产的大多数软件都具有非常适中的性能要求。例如。如果有的话,系统可能每秒处理100个请求。性能统计钩子

但让我们假设你有可能参与“下一件大事”(无论这意味着什么),并且你想把某种性能统计日志记录到位以帮助你在什么时候所有这些用户飞过来英寸

性能统计记录,你会如何处理这个要求?也许你会为此使用某种通用框架?或者推出自己的解决方案?你会记录什么?粒度如何?

或者,你甚至懒得把任何东西的地方,而解决这个问题的时候,它实际上成为一个问题?

这将是非常有趣的听到关于这个话题您的想法。

回答

1

我只是扔了这一点有:登录请求事件的时间。还记录发送的数据包的大小。堆叠所有事件日志。 然后重播它们。使用计数器,然后做一个差分随着时间的推移,以获得率,你可以绘制结果和观察模式。基本上每秒的增量字节是一个很好的警报。

1

最近我对自己提出了同样的问题。我开发了自己的统计数据库。但是我并不完全满意结果(统计数据消耗过多的堆,在决定选择存储模型时做出了错误的选择)。

你必须回答的问题是:我多久看一次这些统计数据?

在我的情况下,不是很经常(这就是为什么只有内存的存储对我来说是不好的选择)。

我想知道是否应该将存储模型移动到类似jrobin(Round Robin数据库模型的java impl)之类的东西。

我最近还发现了perf4j(http://perf4j.codehaus.org/)项目

+0

perf4j看起来很有趣。日志会变得非常庞大,所以我想知道是否有可用的工具可以帮助您将这些信息汇总成有用的东西? – tinny 2010-05-21 08:15:18

+0

自2010年以来,已经生产了许多新的酷玩意儿。我的首选工具是Metrics(https://dropwizard.github.io/metrics/3.1.0/)。 – 2015-02-21 12:30:26