关于SQL虚拟机磁盘拆分优化性能的合理性验证请求(基于IOPS/吞吐量等存储指标)
关于SQL虚拟机磁盘拆分优化性能的合理性验证请求(基于IOPS/吞吐量等存储指标)
嘿,我来给你捋捋这个事儿——数据中心的说法完全站得住脚,咱们从几个关键点拆解一下:
当前存储负载远未达瓶颈:你的VM峰值IOPS才1772,而阵列有60000可用IOPS,差了30多倍!95分位IOPS更是只有373,这意味着阵列大部分时候都处于“闲得慌”的状态,根本不存在IO资源不够用的情况。就算把各个SQL数据库文件拆分到不同datastore,也没多余的性能可以挖,因为当前的请求量远远没触碰到阵列的上限。
全闪存阵列的特性让磁盘拆分失去意义:传统上建议拆分SQL的tempDB、日志、数据文件到不同物理盘,核心原因是机械硬盘的寻道时间长,多个读写请求挤在同一盘上会互相等待、拖慢速度。但全闪存阵列完全没有这个问题——闪存是电子读写,没有物理寻道的开销,同一个datastore里的多个虚拟磁盘几乎不会产生IO竞争,尤其是在阵列还有大量剩余性能的情况下。
延迟指标已经是顶级水平:平均延迟<0.25ms,峰值才2ms,这已经是全闪存存储的最优表现了(机械硬盘的平均延迟通常在10-20ms甚至更高)。这么低的延迟说明当前存储处理请求的速度已经快到极致,拆分磁盘不可能让延迟再降低多少,自然也不会有性能提升。
如果真的想优化SQL VM的性能,不如把精力放在SQL本身的调优上:比如检查索引是否合理、优化慢查询、给SQL Server分配足够的缓冲池内存(尽量让常用数据留在内存里,减少磁盘IO),这些措施带来的提升会比拆分磁盘明显得多。
备注:内容来源于stack exchange,提问作者James Johnson




