Azure虚拟机中MS SQL的性能

Azure虚拟机中MS SQL的性能,azure,azure-web-roles,azure-virtual-machine,azure-connect,Azure,Azure Web Roles,Azure Virtual Machine,Azure Connect,我在Azure虚拟机中安装了SQL Server。打开端口1433,在防火墙中创建规则 在那之后,我创建了Web角色,并通过Azure connect连接到SQL Server 一切顺利。但性能非常差:在虚拟机和Web角色之间ping 500-900毫秒,简单的存储过程工作5-7秒 如何提高绩效 如果我使用虚拟网络,性能会提高吗 解决方案 我创建了虚拟网络,结果是最好的 虚拟网络当然应该提高性能,因为这样可以减少两个云服务(VM和Web角色)之间的延迟。这也将更加安全。您可以做的一个简单测试

我在Azure虚拟机中安装了SQL Server。打开端口1433,在防火墙中创建规则

在那之后,我创建了Web角色,并通过Azure connect连接到SQL Server

一切顺利。但性能非常差:在虚拟机和Web角色之间ping 500-900毫秒,简单的存储过程工作5-7秒

  • 如何提高绩效
  • 如果我使用虚拟网络,性能会提高吗
解决方案


我创建了虚拟网络,结果是最好的

虚拟网络当然应该提高性能,因为这样可以减少两个云服务(VM和Web角色)之间的延迟。这也将更加安全。

您可以做的一个简单测试是在VM上的SQL Server Management Studio中执行查询。然后从web服务器执行相同的查询并测量差异。通过这种方式,您可以看到这是一个低效的查询计划还是一个延迟问题

在Azure中,延迟始终是一个更大的考虑因素,因为您的硬件分布在一个大型数据中心上。如果您的应用程序对数据库非常健谈,则延迟问题开始变得复杂。因此,批量查询是一种很好的做法,如果可以的话,可以异步减少对DB和spool数据的不同调用的数量。这将加速您的应用程序并提供更流畅的用户体验

如果网络延迟导致性能低下,不要担心,您可以做很多事情。以下指南将为您提供有关Azure性能最佳实践的良好概述,以帮助您入门:


我通过从库中选择在Azure中创建了VM。您是否在同一数据中心创建了VM和WebRole?此外,您不应该使用Azure Connect。这是一个不推荐的VPN解决方案。是的,在一个中心(西欧)。我将尝试创建虚拟网络。非常感谢。Rick,但是Azure Connect也创建VPN。是的。我创建了虚拟网络,结果是最好的!非常感谢。