SQL Server 整合的容量规划

bud*_*eek 4 migration storage disk-space sql-server-2012

我的公司有一个用于 LANDesk 的小型 SQL 环境,他们希望将所有服务器迁移到每个区域的单个 SQL 集群。我想知道的是,我如何确定这种场景的容量?我已经获得了每台服务器(All Landesk)的数据库增长,我可以将这些数据作为整合到单个 SQL 集群的粗略估计吗?Windows 团队告诉我,来自这些服务器的数据有点不稳定,可能无法给出他们想要的准确结果。

有问题的新集群已经有几个数据库,但还没有达到最大容量。一旦他们开始添加来自服务器的剩余数据,它应该达到其全部容量。我已经运行 Perfmon 一段时间了,为了检查数据库增长,我使用了 sqlskills.com 中的以下 TSQL 代码

SELECT
[database_name] AS "Database",
DATEPART(month,[backup_start_date]) AS "Month",
AVG([backup_size]/1024/1024) AS "Backup Size MB",
AVG([compressed_backup_size]/1024/1024) AS "Compressed Backup Size MB",
AVG([backup_size]/[compressed_backup_size]) AS "Compression Ratio"
FROM msdb.dbo.backupset
WHERE [database_name] = N'AdventureWorks'
AND [type] = 'D'
GROUP BY [database_name],DATEPART(mm,[backup_start_date]);
Run Code Online (Sandbox Code Playgroud)

我能做些什么来获得准确的结果吗?LANDesk 团队不希望我使用旧服务器,我唯一的选择是使用他们计划迁移所有数据的新集群,而我只有 6 个月的数据。我应该问他们这个新集群的使用年数之类的问题吗?等等...

谢谢大家的答案。这是我从 PAL 工具中得到的

我使用 PAL 工具来确定 perfmon 数据,这些是它给出的一些警告
1) 响应时间大于 25 毫秒 2) 空闲时间少于 10% - 磁盘队列在 90% 的时间内至少有 1 个未完成的 I/O 3) 大于或等于 64 KB IO 大小。一般来说,IO 大小越大,每秒可以传输的数据越多,但响应时间越长。

4) 物理磁盘读取延迟 - 大于 25 毫秒 5) 进程 % 特权时间 - SQL 服务器使用超过 30% 的特权模式 CPU 使用率 6)SQL Server 访问方法 FreeSpace 扫描/秒 - 每个比率超过 1 次空闲空间扫描10 个批处理请求 - 确认高 paglatches、异步 I/O 完成和低页面预期寿命 7)SQLServer:Access Methods Workfiles Created/sec - 每 20 个批处理请求创建超过 1 个工作文件的比率 8)SQL 缓冲区缓存命中率:低于 97% 的缓冲区缓存命中率 9)红色:每秒大于 20 次延迟写入 10)红色:页面预期寿命小于 5 分钟(300 秒) 11)黄色:比率大于 1 SQL 重新编译每 10 个 SQL 编译

关于 I/O,我们正在迁移到 SQL 2012 集群,所以我不确定哪一种是衡量 IOPS 的另一种可能方法。您会建议使用 SQLsim 或 IOmeter 等吗?再次感谢!

小智 5

就像 Randolph 提到的那样,磁盘是您最不需要担心的事情。如果它如您提到的那样集群,您可以轻松添加存储以适应数据增长。

更难添加和花费真钱的事情是:

CPU(许可)内存(如果您使用的是标准版,则限制为 128 GB)

在整合方案中,您需要获得 CPU 使用的基线(简单的性能——SQL Server CPU)和内存——更难的(您需要跟踪页面预期寿命,因为它与 SQL 的总内存使用相关)。最后,您需要解决 IOPS——存储的性能组件——如果您的源环境使用 SQL 2014 或更高版本,您可以检查一个计数器(磁盘读/写 IO/秒)来获取该数据。磁盘数据将简单地累积,而 CPU 和内存数据将需要评估。在整合环境中,您可能会使用更少的 CPU 和内存。

最后,对于这样的共享环境,您可能希望将企业版与资源调控器一起使用,以便防止“吵闹的邻居”问题。