【发布时间】:2013-05-30 20:08:12
【问题描述】:
目标:在数据库中存储您关心的内容的任意性能统计信息(当前登录的客户数量、正在处理的小部件数量等),以便您了解什么您的服务器在一段时间内的表现如何。
假设:数据库已经可用,并且您已经知道如何收集您想要的信息,并且能够根据需要将其放入数据库中。
解决方案的一些理想属性
- 不会对受监控的服务器造成明显的性能影响
- 具有非常高的测量精度
- 不存储无用或冗余信息
- 易于查询(有助于收集/显示有用信息)
- 易于绘制图表
- 准确
- 优雅
主要问题
1) 触发统计数据存储的良好设计/方法/方案是什么?
2) 对于如何实际存储数据,什么是好的数据库设计?
示例答案...有点模糊和蹩脚...
1) 我可以在每个 [固定时间间隔] 中存储一行数据,其中包含我关心的所有性能测量结果,该数据行包含一个由时间戳和/或索引的大平面表的每一列中服务器。
2) 我可以有一个守护进程监控我关心的性能内容,并在某些情况发生变化时(而不是固定时间间隔)添加一行到平面表中,如 #1。
3) 我可以像在 #2 中那样触发,但我可以将关于我正在测量的性能的各个方面的信息存储在单独的表中,从而可以为经常更改的项目添加大量行,并且很少很少更改项目的行。
等等
最后,我会实现一些东西,即使这是我自己编造的一些超级脑残方法,但我敢打赌,那里有一些非常聪明的人愿意分享他们的经验和好主意!
【问题讨论】:
标签: database-design statistics