我对Azure Webapp有一个非常大的问题,并希望听到建议。
我们的体验:
当我转到我们的网站时,它非常快。平均负载约为1秒,并按预期响应。
然而,一旦pr。 10-20分钟,我们得到一个非常冷的负荷 - 它是30-60秒+。
如果该网站没有访问者且感冒,这是有道理的,但我们在网站上的所有工作时间都有10位以上的访问者,至少有3-5个请求。
当然,这种额外负荷是完全不可接受的。
有什么想法吗?
我们的设置:
我们有两个天蓝色的网络应用程序。一个用于生产,一个用于开发。
生产是一个“标准小”,当CPU达到65-85%时,自动缩放。
我们数据库是S2,10 gb。
这是一个非常简单的标准ASP.NET MVC站点,包含一些文本,表单和一些远程连接。
唯一的“非标准”是300万个索引页面,可以查看数据库(页面加载大约为1秒)。这会吸引很多来自Google的访问者。我们还收到一些来自Google的抓取信息,因为我们有一个包含3个月+页面的站点地图。
来自监视器的数据:
编辑:来自新监视器的数据。
Web的应用程序:
数据库:
配置:
制作网络应用:
数据库:
我们的尝试:
1:永远在线。
我们总是多次尝试过,但是在前30分钟到6个小时的某个时间点,网站只是下降而不会回来**。这当然是个大问题,不是解决方案。
2:在虚拟机上运行。
我们在Azure上的VM(4gb RAM)上有一个非常稳定和精细的设置,但运行正常。我们的反应相当缓慢,但效果不错。但是,我们希望使用Web应用程序将扩展和平台“外包”到Azure - 我们无法接受这种速度:)
**
在超时前它永远没有反应。我尝试了两个场景:一个停止和启动web-app工作,另一个我必须重新部署
答案 0 :(得分:4)
为了进一步确定瓶颈是什么,请您使用新的Ibiza门户网站http:portal.azure.com。
上面的旧门户网站截图显示了54分钟的平均值。显然,平均5分钟和DTU约为80%,可能会有所有DTU被消耗的时期,这可能是瓶颈。
使用新门户网站,这些DTU图表的平均值为15秒,这种更精细的粒度可能会指向瓶颈。您可以更改为新门户并粘贴更多图表吗?
谢谢盖伊
答案 1 :(得分:1)
我找到了解决方案。
解决方案不只是在一个地方,而是在多个地方。
让我试着深入了解。
主要挑战是我们索引的300万页。谷歌每天抓取50到150万页,我们可以在Google网站管理员工具中看到:
99.9%这些页面是一种独特类型的地址页面。我潜入了这些,发现这些默认值为1.5-2(!)。跑向测试时甚至很慢。
步骤#1是制作新索引并优化代码。 5倍性能提升。
现在,这本身并不能解决问题。我还将数据库升级到新的S3 ...没有完全解决问题(但仍然更好)。
我还将Azure Web App升级到7gb版本 - 然后开始执行。
但是,我们每隔30分钟仍有一个小问题。我进入我们的虚拟机,发现了一个旧的控制台工作,保留了一些内容......我暂停了那份工作。
这些调查结果都不能单独存在 - 但在所有这些结果得到解决之后 - 我们再次表现良好,网站响应可以接受!
乌拉!