我们一直使用 Azure VM 来托管 SQL Server。 A4 尺寸,即 4 核和 7GB RAM 我们注意到数据库间歇性性能缓慢。
我们担心,由于 azure VM 是 Multi-Tenancy 实例,它无法始终以 4 核性能运行。
We are trying to understand that when we fire a 4 core VM, does it mean we always have that much compute power? or will it reduce depending on other users?
最佳答案
您应该做的第一件事是衡量数据库性能如此缓慢的原因。您是否达到了虚拟机的内存限制? CPU限制?或者数据磁盘的性能是否存在问题(IOPS)?
关于MSDN there's a checklist在虚拟机中托管 SQL Server 时需要考虑的事项:
- 对 SQL Server 虚拟机使用最低标准层 A2。
- 将存储帐户和 SQL Server 虚拟机保持在同一区域。
- 在存储帐户上禁用 Azure 异地复制。
- 避免使用操作系统或临时磁盘进行数据库存储或日志记录。
- 避免使用 Azure 数据磁盘缓存选项(缓存策略 = 无)。
- 对多个 Azure 数据磁盘进行 strip 化以提高 IO 吞吐量。
- 采用记录分配大小的格式。
- 分离数据和日志文件 I/O 路径,以获得数据和日志的专用 IOP。
- 启用数据库页面压缩。
- 启用数据文件的即时文件初始化。
- 限制或禁用数据库的自动增长。
- 禁用数据库自动收缩。
- 将所有数据库移至数据磁盘,包括系统数据库。
- 将 SQL Server 错误日志和跟踪文件目录移至数据磁盘。
- 应用 SQL Server 性能修复。
- 设置默认位置。
- 启用锁定页面。
- 直接备份到 Blob 存储。
关于azure - 质疑 Azure VM 的计算一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24199116/