Performance Azure Web角色和SQL Azure之间的延迟以及应用程序性能

Performance Azure Web角色和SQL Azure之间的延迟以及应用程序性能,performance,azure,azure-sql-database,latency,Performance,Azure,Azure Sql Database,Latency,Azure Web角色和Sql Azure延迟 您好,我只是想知道,在web工作者角色和SQL Azure之间存在延迟和超时,事件在某些时间超时(这些事件不是随机发生的),100次ping中有40%没有0毫秒的超时 如果Web worker角色和SQL Azure位于同一数据中心中,那么在使用内部网络进行通信时为什么会出现超时 请参考随附的屏幕截图: 运行在此web worker角色上的应用程序具有神秘的性能起伏。。如果可能是由于各种原因,但我需要知道的是,这些关于延迟和超时的统计数据是否会影

Azure Web角色Sql Azure延迟

您好,我只是想知道,在web工作者角色SQL Azure之间存在延迟和超时,事件在某些时间超时(这些事件不是随机发生的),100次ping中有40%没有0毫秒的超时

如果Web worker角色和SQL Azure位于同一数据中心中,那么在使用内部网络进行通信时为什么会出现超时

请参考随附的屏幕截图:

运行在此web worker角色上的应用程序具有神秘的性能起伏。。如果可能是由于各种原因,但我需要知道的是,这些关于延迟和超时的统计数据是否会影响web应用程序的性能


谢谢,

首先,您需要知道Windows Azure SQL数据库是一种作为服务提供的多租户、高密度RDBMS。这意味着,可能有数百名客户使用一台服务器

我还建议你去了解一下,特别是。没有人声称会有0毫秒的延迟。在WindowsAzure SQL数据库中也有类似“”的内容

一个好的建议阅读是

至于web应用程序性能,在阅读了《性能和弹性指南》之后,我不认为偶尔发生的200毫秒是核心瓶颈

在第一条评论后更新

在一个共享的环境中,你总是会有起伏。您还应该期望查询执行时间上下变化。这在那种环境中是不可避免的,你必须为之设计和生活。在WindowsAzure SQL数据库中,这里没有魔杖,也没有专门为您(为我们)提供的服务器。如果您认为您的应用程序需要更可靠的SQL Server服务,您可以尝试使用Windows Azure虚拟机并自行启动SQL Server群集。我猜(这只是一个猜测),如果所有东西都在同一个可用性集中,那么云服务和虚拟机之间的通信将更加可预测

第二次和第三次评论后更新:

嗯,是的,你可能有许可问题(我是许可方面的专家)。你开的是跌宕起伏的票吗?如果是这样,您可以尝试升级它(不知道如何升级,但您有您的工单ID,您还必须有一名指定的工程师和一封关于工单的电子邮件-回复所有该电子邮件)。此外,当您创建票据时,必须有一个小问卷来反映您的问题对业务的影响。然后,必须为票据指定一个正常的响应时间。如果支持在这段时间内没有返回给您,您肯定可以将其升级

更新


我有一个有趣的观察结果,在你所有的截图中,只有第一个数据包被延迟,然后每个连续的数据包都有0个延迟。在您提供的所有样品中。如果这是10次中的10次,那么您肯定没有任何延迟问题。我建议您使用常规ping中的“-t”选项发送4个以上的数据包并进行观察。我建议在大约100包的时候打破,然后观察结果。我不会考虑4个数据包样本,其中只有第一个有延迟进行任何性能评估。

我在另一个线程上发布了这篇文章,但它很旧,已经关闭。我认为这突出了你的一些问题

我一直在尝试将我们的商业应用程序移动到云端。考虑到我们的现场服务器已有8年以上的历史,Azure服务应该有显著的改进。然而,当我们测试我们的应用程序并对云计算与现场进行基准测试时,我们注意到,总体而言,云计算的延迟比现场(8年以上的服务器)的延迟高出近3倍,使用现代设备进行比较时,延迟高出20倍。 我们的应用程序是asp.net应用程序,数据库大小约为11GB

SQL Azure和性能

  • 切勿在云中使用池连接。如果您这样做,您的查询将从左到右、居中放置。相反,打开一个连接并保持它打开,直到您完成
  • 使用缓存。如果你有希望完成这项工作,你别无选择。我在云中成功地创建了一个站点,但我必须使用缓存来获得合理的性能
  • 意识到这不是你的错!Azure团队比你更需要解决他们的问题。我们有一个精益应用程序,我们已经升级、调整和优化了10年,如果我们不能让它工作,那么你也不会
  • 我喜欢Azure这个概念。我喜欢这些选择。我喜欢可扩展性,但不喜欢性能。我希望微软对此给予更多关注,并做出一些改变,因为在这一问题得到解决之前,任何人都不应该将业务转移到那里

    测试

    测试是通过运行一系列查询来完成的,这些查询访问完全相同的数据,并通过一个自定义函数在代码中完成,该函数测量从创建对象到处理对象(强制写入数据库)的响应时间。此对象包装正在测试的代码

    没有为测试启用缓存,但是我确实允许代码和DB执行一次,并获得最佳结果,以便DB服务器有机会优化查询,从而web服务器可以正确加载程序集

    测试1-Web和DB在同一台良好的机器上

    • 四核2.5GHz,8GB Ram@800Mhz,带1300 FSB和SQL 2005
    • 产生290ms响应时间
    测试2-Web和DB在同一台机器上

    • SQL和Web在2进程(双核3.0GHz)、16GB Ram@200Mhz以及200 FSB和SQL 2005上 非常旧的IBM服务器
    • Web和SQL都是ar