我们有一台 HP MSA70,为我们的 SQL2008 服务器分配了 20x300gb 2,5" 10k 磁盘。
我们对 SQL 服务器的使用情况如下:
我们的 ERP 系统(Visma 业务)有 50 个并发用户 - 70/30 读/写。
我们网站(CMS 系统 + 电子商店)每天有 2500 个用户 - (预计到年底将有 5000 个用户)
BI 系统每天提取数据 8 次,查询非常繁重(包括生产查询)**BI 系统不会对这些磁盘进行任何写入 - 只进行读取。
目前,阵列设置为 RAID10,就是这样 - 所有数据+日志+临时数据库都在此阵列上。我们定期遇到 ERP 系统变得非常慢的情况,我们发现这主要是在我们的 BI 系统获取数据时发生的(每次大约持续 30 分钟)。
我已经研究了很长时间了,但我仍然不确定我们应该如何配置我们的主轴。我的想法是:
8 个磁盘 raid10 - OLTP db,主要是我们的 ERP 系统(由 10 个 db 组成)+ tempdb
8 个磁盘 raid10 - 所有数据库的日志文件
4 个磁盘 raid5 - OLAP db,我们的 ERP db 的事务复制副本,我们的 BI 系统从中获取数据。++ 我们的网站。
我对上述情况最大的担心是,如果我应该从日志阵列中取出 2 个磁盘,并将它们添加到“OLTP”中,那么它就会得到 10 个。
我知道这还不足以得出确切的答案,但我正在寻找一些指导方针和好的想法:-)
答案1
当您的 BI 流程执行所有这些提取时,您会遇到严重的磁盘 I/O 争用问题。考虑到它的工作原理(查询生产中的数据以移动到仓库),您在配置方面无法做很多存储方面的工作来改善情况。您只需要更多的主轴。进行一些 PerfMon 运行,看看您的问题是由于 BI 数据库提交数据(写入)还是所有这些查询消耗 I/O 操作造成的。如果是后者,请尽可能在该数据库中放入更多主轴以帮助顺利进行。
您可能需要认真研究增加数据库服务器中的 RAM 数量,因为这将有助于减少您看到的一些磁盘压力。
答案2
当 ETL 过程启动时,页面预期寿命会发生什么变化?随着您添加更多 RAM,这个数字将会增加,让您的生活更加美好。
您很可能不需要对存储系统进行任何更改。
sys.dm_io_virtual_file_stats 显示什么?
当您看到性能问题时,等待类型有哪些?
ETL 运行时,索引是否已正确调整?