数据库IO对比

Ask*_*ken 3 sql-server san

我们在 vmware 上运行 sql server。我们的 san 很新,但我仍然认为 I/O 很糟糕,即使我应该在单独的主轴上。服务器速度为:

在此处输入图片说明

我的客户端机器:

在此处输入图片说明

我们的 san 慢吗?我可以从其他用户那里得到一些比较值吗?如果是这样,请告诉我您使用的是虚拟机还是物理机。看起来它写得还不错,但阅读真的很糟糕......

mrd*_*nny 6

与您获得的数字相比,其他人从他们的数组中获得的性能数字完全没有意义。我的阵列中可以有 1000 个磁盘支持 512 Gigs 缓存,或者我可以在 RAID 10 中拥有 2 个 7200 RPM 磁盘。

不知道您的阵列在数字中配置的确切配置只是数字。

另一件需要注意的事情是 4k IO 和 512k IO 一样毫无价值。SQL Server 将在 64k IO 中完成几乎所有的 IO。

  • 我最好的猜测是阵列上的缓存正在吸收写入,从而为他提供 16MBps 的写入速度。在不知道底层硬件是什么的情况下做这种事情的另一个原因基本上是毫无意义的。 (3认同)
  • @mrdenny 是什么让您认为 SQL Server 只会生成 64K 块的 I/O?默认页面大小为 8k,尽管 SQL Server 通常执行 8 页预读,但默认 NTFS 块大小为 4K,除非另外调整,否则许多 HBA 驱动程序将分解 64 KB 块。这有很多变数,而这只是在主机端。4k IOPS 在我看来是一个很好的参考,尽管我更喜欢测试所有相关的块大小。 (2认同)
  • SQL Server 几乎所有的读取和写入都是按范围而不是按页进行的。这样做是因为大多数范围是单个对象范围而不是混合范围。如果由于某种原因 SQL Server 从不需要的缓冲区中老化页面,您将看到从磁盘读取单个页面,但磁盘中的大多数 IO 应该在范围级别,而不是页面级别。如果 HBA、磁盘等发生更改,则说明不受 SQL 控制。这就是为什么通常建议在磁盘级别使用 64k 块的原因。 (2认同)