SQL Server:响应时间与CPU利用率与IO



我有一个应用程序将部署在Azure上。

如果我们不关心托管的成本(这将更多地依赖于 CPU 和 IO 而不是响应时间(,那么优化查询以实现高频利用率(每秒将执行多次的查询(的最佳策略是什么?

  • 缩短响应时间
  • 降低 CPU 利用率
  • 减少 IO

当然,所有这些优化方案都有一个目标=每秒执行最大查询数。

最重要的策略是什么,为什么?

减少 IO。即使使用高级存储,Azure 的 IOPS 也低得惊人。我想这就是地理镜像的代价。将高频查询的所有数据保存在 SQL Server VM 上的 SSD 临时存储上的 tempdb 中。或者尝试使用内存优化表。

额外的 CPU 可能很昂贵,但它是可用的。

如果 VM 位于同一地缘组中,则可以缩短它们之间的响应时间。对于客户端响应时间,请在 ping 飞行时选择最近的区域。

这很难回答,因为有很多依赖关系。

  1. 数据结构(表、索引、变量类型(
  2. 发送到客户端的数据量(1 行包含 1KB 数据或仅一行包含 500kB 数据(
  3. 是否使用老虎
  4. 写入与读取 5 个数据文件组。

所以在这位圣人身上,我们只能想象如何处理它......

最新更新