新闻稿




调谐工作负载,而不是查询


慢是新的破裂。但事情不一定要破裂就不一定。您的在线订购系统的用户体验差将损害您的底线。

大多数数据库性能调整方法都侧重于调整一个或多个特定查询。在线查找内容在线敦促读者通过查看“十大”查询列表来开始调整数据库。多年来,这些方法已经成为许多供应商数据库性能监控工具的方式。这似乎是一件好事,但只有一个问题:这些方法是错误的思维方式。它们是一种陈旧的解决和性能调整的陈旧方式。此类方法缺乏必要的背景,并且对现代工作负载效率低下。让我解释。

传统数据库监控的问题

传统的数据库性能监控工具是为发动机观察者的角度而构建的。我的意思是这些工具专注于指标里面数据库引擎。虽然这些工具可能会收集一些操作系统级度量,但它们也是在假设数据库是单个服务器节点的情况下构建的,而不是一个节点的集合。该工具本质上是有功的,在问题发生后通知您。

但今天的现代数据库是不同的。您的数据库引擎是在可能在虚拟化服务器上​​的操作系统上执行的进程,并且可能在数据中心或云中本地运行。换句话说,您的用户与数据之间有许多层。在全局分布式系统的世界中,您的数据库的机会不在单个节点上。

这意味着您的内部遗留会计应用程序需要不同的监控和性能调整方法,而不是您的在线订购系统。当您专注于一个查询时,甚至是十分之一查询列表时,您几乎没有关于整个应用程序堆栈的信息,以及我们所有人所知道的发动机指标都不会帮助您了解整体最终用户体验。

这就是为什么数据库性能调整方法重点关注发动机内的调谐活动。因为这就是DBAS(和开发人员)知道的。这是他们运作的筒仓。他们需要证明这个问题不在数据库内,但对外面没有看不到。

调谐工作负载,而不是查询

停止关注数据库引擎并将您的思想敞开到数据库之外的世界。转动此角落后,您的平均时间分辨率缩小,结果是更好的最终用户体验。

Heisenberg不确定原理指出粒子的位置和速度不能同时测量。您越多了解位置,您对速度的了解越少,反之亦然。

相同的理论适用于数据库性能调整方法。您越多了解在数据库引擎内部发生的活动,越越少您了解整个系统。例如,执行计划是有没有指标的“用户幸福”,例如。

因此,故障排除现代分布式系统需要不同的方法。输入四个金色信号:延迟,流量,错误和饱和度。这些信号组合以帮助提供整体用户体验的量度。从那里,如果您需要潜入数据库引擎,您可以在服务器,实例或查询级别开始调整所需的上下文。随着时间的推移,您可以根据需要转移到思考如何扩展,或者。

换句话说,你不会指望你的机修工在同样的方式调整你的吉普车,她会调整法拉利。两者都是车辆,而是用于不同的目的。工具和方法对于每个 - 所需的工具和方法是遗留应用程序与分布式的指标和仪表板。

用户体验至关重要

慢是新的破裂。但事情不一定要破裂就不一定。您的在线订购系统的用户体验差将损害您的底线。传统的数据库监控系统没有专注于用户体验。相反,他们专注于数据库引擎本身。但是那些发动机指标不会告诉你在爱达荷州的布拉德沮丧,并留下了2,000美元的马铃薯种子的购物车。

您的数据库性能调整方法应该包括首先了解整个系统和工作负载 - 在开始查看任何特定查询之前。N