我需要在 SQL Server 2008 上购买一个用于 Navision 2009 数据库的新服务器。
数据库大小为 50GB,每年增长 10GB。
我正在考虑在 2 台服务器上创建一个集群。尚未决定是 SQL 服务器集群还是 Hyper-V 集群。
这两种解决方案都需要在这 2 台服务器之间共享外部 SAN。
我有点担心 SAN 的 SQL Server 性能。
我已经拥有 IBM Storage,但我仅将其用于备份。
这里有我的本地磁盘(当前正在处理 SQL Server 数据库)和这个存储的HD Tach比较
红色是本地盘。
蓝色是 SAN。
我看到的是本地磁盘具有更好的寻道时间,但 SAN 具有更好的读/写速度。
那么对于大型(>60GB)金融数据库来说,哪个更重要——寻道时间还是读/写速度?
Hyper-V 会破坏我的 SQL Server 性能吗?
更多的 RAM 会帮助和平衡寻求时间的牺牲吗?
以这种方式比较存储时,您要寻找的关键数字是磁盘系统的持续随机 IO 容量。使用 HDTach 等工具测量的延迟不会告诉您,使用 IOMeter 之类的工具进行测试会给您带来更好的画面。SAN 的延迟可能看起来比本地存储慢,并且可能适用于 HDTach 使用的桌面样式 IO 模式,但它处理标记 IO 的能力将大大提高,并且在压力下它应该大大优于本地存储。这是假设它是一个相当不错的存储阵列,并且您正在适当地划分 LUN。
就弄清楚如何设置 SAN LUN 而言,您将在这个 ServerFault Question的公认答案中获得一些很好的建议。
由于读取和写入分布在多个主轴上,SAN 通常会为您提供比 DAS 或 NAS 更好的性能。此外,在管理良好的 SQL Server 上,数据库的数据文件存储在大的、连续的块中,这进一步减少了查找时间的优势。
如果您有可用的硬件,我会选择 SQL 集群而不是 Hyper-V 集群。任何时候虚拟化服务器都会对性能造成影响。最近的虚拟化软件与支持虚拟化的 CPU 相结合,显着降低了这种性能损失,但与物理服务器的性能仍然存在差异。对于一个金融数据库,我希望我能从服务器中榨取所有的力量,而这将抵消虚拟化硬件的潜在优势。