我已经阅读了@Mike 对如何判断数据库调整是否富有成效(PostgreSQL)的回答,这就是我正在考虑的用于监控我的数据库(Web 应用程序、许多连接、大量写入和一直在读取,非常动态的数据)。
该方法总结如下:我想知道我的数据库是否能够跟上工作负载,随着时间的推移它是否具有相同的准备状态,以及最终我的调整和清理是否有用。因此,对于一般的健康指标,监控查询时间(对于 Web 应用程序和数据流使用的代表性查询)对我来说是明智和紧凑的(查询时间增加而没有实质性变化 => 性能正在下降)。但我的问题是,是吗?除了链接的问题之外,我还没有找到这种方法的其他来源,而且我在如何实现所有这些方面还有一些漏洞,因此从其他示例/经验或手册中了解更多信息将非常有用。即使知道这种方法不值得做也会很有趣。
仅供参考,我读过pgbench
,但它对我来说似乎很无菌,我的意思是,它确实提供了一个参考点,但它对我的表、我的索引、关于我的数据库的活动环境说了什么?(我希望你能理解我的意思)也许我pgbench
看错了,但这正是我想知道的!
注意:我与 Postgres 一起工作,所以我对 Postgres 的特定答案会很棒......但不是必需的!
总的来说,我有点同意:如果客户满意,就不要开始调整。
但是,在为时已晚之前,您肯定会在没有注意到的情况下出现问题。以下是应引起警报的随机列表,但不保证完整性:
pgbench
比您想象的更有用:您可以将它与自定义脚本一起使用,甚至支持简单的脚本语言来模拟不同的工作负载。但当然,它本质上是一种生成人工负载的工具,以测试某些更改对性能的影响,并确保您没有错误配置 PostgreSQL 或操作系统。