微软云服务介绍 – SQL Server虚拟机(2)

在“微软云服务介绍 – SQL Server虚拟机1”博文中,我们介绍了如何部署和使用微软云中的SQL Server虚拟机,本文将介绍SQL Server虚拟机的监控,管理,配置建议以及性能最佳实践。

 

虚拟机监控

在虚拟机的使用中,性能和运行状态决定着业务负载是否可以为用户提供良好的访问体验。因此作为一个管理员,你需要随时了解虚拟机的各项运行指标。Windows Azure为您提供了一种十分便利的监控与管理方式,您只需通过Windows Azure 管理门户,即可直观的通过图表看到这些信息。

通过Windows Azure管理门户-> 虚拟机,在列表中选择所需的监控的虚拟机,点击“仪表板”,您可以了解该虚拟机的概览信息,以及当前所有的资源使用情况。

 

通过Windows Azure管理门户-> 虚拟机,在列表中选择所需的监控的虚拟机,然后点击“监视器”,即可看到该虚拟机的CPU使用百分比,磁盘读写,网络流量等信息。及时掌控状态。

 

 

虚拟机管理

在日常的IT运维管理中,我们经常会遇到这样的问题:当用户访问量激增时,服务器的负载会不断的增加,而硬件配置如果不能满足快速增长的需求,就会出现效率下降或是宕机而影响用户的访问体验。在传统的数据中心中如果要实现硬件配置的扩充,是一件非常繁琐的事情。甚至需要服务器停机,而Windows Azure云服务则提供了一种更为便捷的方式,我们只需在Windows Azure管理门户中轻点几次鼠标,就可以完成虚拟机资源的扩展。

在Windows Azure管理门户中,我们在左侧点击虚拟机,然后在列表中选择需要扩充资源的虚拟机,点击“配置”。

 

在“虚拟机大小”部分,我们可以根据实际工作负荷的需求对Windows Azure上运行的虚拟机的CPU和内存大小进行调整。

 

配置完成之后点击页面底部工具栏上的“保存”按钮。设置会在虚拟机重新启动后生效。

 

 

SQL Server 配置建议

  • 性能注意事项:在 Azure 虚拟机中运行 SQL Server 时,建议使用与本地服务器环境中的 SQL Server 适用的数据库性能优化选项相同的选项。不过,公有云中的关系数据库的性能取决于很多因素,如虚拟机大小和数据磁盘配置。请参考文本最后的“性能最佳实践”介绍。
  • Windows Azure 虚拟机磁盘中包含一个临时盘,D:磁盘(Windows) 或者/dev/sdb1 (Linux)。他们仅提供临时存储,所以可能会有丢失数据的风险且数据无法恢复。该情况发生的常见方式是虚拟机迁移到不同主机上时。虚拟机迁移的一些原因包括调整虚拟机大小、更新主机或主机上硬件故障。建议不要在该磁盘上存储任何SQL Server数据。
  • 高可用性和灾难恢复注意事项:对于在 Azure 的 SQL Server VM 中运行的数据库,请遵循在 Azure 虚拟机中 SQL Server 的高可用性和灾难恢复中提供的详细指南 - https://msdn.microsoft.com/zh-cn/library/azure/jj870962.aspx。我们会在下一篇博文中给大家具体介绍其中一个高可用性方案 - SQL Server AlwaysOn。
  • 服务:请禁用 Azure 中虚拟机上运行的所有未使用的服务。例如,如果不使用诸如 Analysis Services、集成服务和 Reporting Services 等预安装的 SQL Server 服务,请将其禁用。
  • 自动缩放:Azure 中的自动缩放功能允许你自动增加或减少你的应用程序使用的虚拟机。此功能可以保证在高峰期间不会对最终用户体验产生负面影响,并且在需求较低时可以关闭 VM。如果你的云服务包括 SQL Server VM,建议你不要为其设置“自动缩放”选项。原因是自动缩放功能允许 Azure 在该 VM 中的 CPU 使用率高于某个阈值时打开一个虚拟机,并且在 CPU 使用率低于该阈值时关闭一个虚拟机。自动缩放功能对于无状态应用程序(例如 Web 服务器)非常有用,在这种应用程序中,VM 可以在不参考以前状态的情况下管理工作负荷。不过,自动缩放功能对于有状态应用程序(例如 SQL Server)是没有用处的。

 

性能最佳实践

以下是性能最佳实践的快速清单:

  • 为 SQL Server VM 使用最低标准层 A2。
  • 将存储帐户和 SQL Server VM 保留在同一个区域中。
  • 在存储帐户中禁用 Azure 地域复制。
  • 避免将操作系统磁盘或临时磁盘用于数据库存储或日志记录。
  • 避免使用 Azure 数据磁盘缓存选项(缓存策略 =“无”)。
  • 条带化多个 Azure 数据磁盘以获取更大的 IO 吞吐量。
  • 在格式化数据磁盘时,建议为数据文件和日志文件以及 tempdb 使用 64-KB 分配单元大小。
  • 分隔数据文件和日志文件的 I/O 路径,以便为数据和日志获取专用 IOPS。
  • 启用数据库页压缩。
  • 启用数据文件的即时文件初始化。
  • 对数据库限制或禁用自动增长。
  • 对数据库禁用自动收缩。
  • 将所有数据库(包括系统数据库)移至数据磁盘。
  • 将 SQL Server错误日志和跟踪文件目录移至数据磁盘。
  • 安装 SQL Server 性能相关的补丁。
  • 设置默认位置。
  • 启用锁定页。
  • 直接备份到 Blob 存储。

 

更多信息请参考SQL Server联机丛书:

Azure 虚拟机中的 SQL Server

https://msdn.microsoft.com/zh-cn/library/azure/jj823132.aspx

Azure 虚拟机中的 SQL Server 的入门

https://msdn.microsoft.com/zh-cn/library/azure/dn133151.aspx

Azure 虚拟机中 SQL Server 的性能最佳实践

https://msdn.microsoft.com/zh-cn/library/azure/dn133149.aspx

Azure 虚拟机中的 SQL Server 部署

https://msdn.microsoft.com/zh-cn/library/azure/dn133141.aspx

Azure 虚拟机中的 SQL Server 的安全注意事项

https://msdn.microsoft.com/zh-cn/library/azure/dn133147.aspx

Azure 虚拟机中 SQL Server 的故障排除和监视

https://msdn.microsoft.com/zh-cn/library/azure/dn195883.aspx