我正在尝试为我们计划的数据仓库升级编写数据仓库服务器的规范。
在VMWare主机上运行虚拟服务器时,我们可以根据需要添加或删除资源。过去,我们根据需要逐渐增加了RAM和CPU。随着需求的增加,我们游说了更多的资源。(主要是磁盘和RAM)。
我们要求更多。他们给了我们尽可能少的东西。
但是最近,每当我们谈论资源时,我们都因一开始就没有正确配置机器而受到批评,现在我被告知开发主机已被用尽,没有可用的RAM。
我们是一个小型的地方政府组织,拥有约50个DW常规用户。在正常的日常使用中,它运行良好。我们获得了良好的mdx查询性能,并且我们的报告和仪表板速度很快。用户感到高兴。
但是,我们的ETL流程会整夜运行,并且当同时处理数据集市时,我们开始看到内存不足的迹象。昨晚SSIS失败,并发出有关“内存不足错误”的警告。
我们现有的DW服务器是Win 2008 R2,具有4个CPU和16Gb RAM,运行SQL 2012 Std。我将最大服务器内存设置为12GB,为OS和服务等保留了4GB。我们现有的DW有3个数据集市/ OLAP多维数据集,并且我们还在开发2个。
+----------+----------+---------------+-----------+---------------+
| Datamart | Files GB | Fact (Rows) | Fact (Mb) | ETL & Process |
| OLAP cube| | | | Time (hours) |
+----------+----------+---------------+-----------+---------------+
| PBI | 3 | 190,000 | 180 | 0.2 |
| FBI | 30 | 26,100,000 | 10,000 | 1.5 |
| RBI | 175 | 62,000,000 | 32,000 | 8.3 |
| ABI* | 100 | 44,050,000 | 21,000 | 4.0 |
| EBI* | 11 | 100,000,000 | 6,000 | 2.0 |
+----------+----------+---------------+-----------+---------------+
* Planned/Estimated
我们的新服务器计划为运行SQL 2016 Enterprise的Win 2012。它将运行SQL,SSIS,SSRS和SSAS。存储不是问题,但是我不确定RAM和CPU。
根据适用于SQL Server 2012的快速通道数据仓库参考指南,对于2插槽计算机,我应该拥有的最小值是128Gb……这似乎有点过高。安装SQL Server 2016的硬件和软件要求建议SQL 2016的内存至少为4Gb。这是完全不一样的!
所以..一个好的起点是什么?32Gb?64Gb?我如何证明自己的起始职位(规格)适合IT?
是否有关于如何计算服务器资源的良好指南?
有没有好的经验法则?
在DW环境中,RAM大小调整的关键要素/指标是什么?
- 数据量?
- 多少个立方体?
- 执行ETL或处理多维数据集所需的时间?
- 过夜的高峰处理负载还是白天最终用户看到的性能?