嗨,只是要知道Web工作者角色和sql Azure之间存在延迟和超时,有时会发生超时事件(这些事件并非经常随机发生)100次ping中有40%没有0ms超时
如果Web工作者角色和sql Azure位于同一数据中心中,为什么在使用内部网络进行通信时存在超时
请参阅附带的屏幕截图:
在这个Web工作者角色上运行的应用程序有一个神秘的性能起伏……如果可能是由于各种原因,但我需要知道的是,关于延迟和超时的这些统计数据是否会影响Web应用程序的性能?
谢谢,
解决方法
我还建议您特别了解SLA for the services,Windows Azure SQL Database.没有人声称会有0毫秒的延迟.在WIndows Azure sql数据库中还有“Transient Conditions”这样的东西.
一个很好的建议阅读是Windows Azure SQL Database Performance and elasticiy guide.
至于Web应用程序性能,在阅读了性能和弹性指南之后,我认为偶尔发生的200ms不是核心瓶颈.
第一条评论后更新
在共享环境中,您总会有起伏.您还应该期望查询执行时间能够上下变化.在这种环境中,这是不可避免的,你需要设计和使用它.这里没有魔术棒,在Windows Azure sql数据库中没有为您(对我们而言)提供专用服务器.如果您认为您的应用程序需要更可靠的sql Server服务,您可以尝试使用Windows Azure虚拟机并自行启动sql Server群集.我猜(这只是猜测)云服务和虚拟机之间的通信(假设一切都在同一个可用性集中)将更加可预测.
第2和第3条评论后更新:
嗯,是的,您可能有许可问题(我是许可方面的专家).您是否为跌宕起伏的门票打开了?如果是这样,你可能会尝试升级它(不知道如何,但你有你的机票ID,你还必须有一个指定的工程师和一个关于机票的电子邮件 – 回复所有电子邮件) .此外,当您创建故障单时,必须有一个小问卷,以反映您的问题对业务的影响.然后必须为票证分配通常的响应时间.如果支持在那段时间内没有回复你,你肯定可以升级它.
UPDATE
我有趣的观察是,在你的所有屏幕截图中,只有第一个数据包被延迟,然后每个连续都有0延迟.在您提供的所有样品中.如果这是你的情况10次中有10次,那么你肯定没有任何延迟问题.我建议您在常规ping中使用“-t”选项发送超过4个数据包并观察.我建议打破大约100个数据包,然后观察结果.我不会考虑4个数据包样本,其中只有第一个数据包样本有任何性能审查的延迟.