Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure web应用程序的加载速度较慢且未加载(30秒加载)_C#_Asp.net_Azure_Azure Sql Database_Azure Web App Service - Fatal编程技术网

C# Azure web应用程序的加载速度较慢且未加载(30秒加载)

C# Azure web应用程序的加载速度较慢且未加载(30秒加载),c#,asp.net,azure,azure-sql-database,azure-web-app-service,C#,Asp.net,Azure,Azure Sql Database,Azure Web App Service,我对Azure Webapp有一个很大的问题,希望听取建议 我们的经历: 当我访问我们的网站时,速度相当快。平均负载约为1秒,并按预期响应 然而,一旦公关10-20分钟,我们得到一个非常冷的负载-在那里它是30-60秒+ 如果网站没有访客,而且很冷,这将是有意义的,但是我们有10+的访客在网站所有营业时间在线,至少3-5个请求公关分钟 当然,这种额外的负荷是完全不能接受的 有什么想法吗 我们的设置: 我们有两个azure web应用程序。一个用于生产,一个用于开发 该产品为“标准小型”,当CPU

我对Azure Webapp有一个很大的问题,希望听取建议

我们的经历:

当我访问我们的网站时,速度相当快。平均负载约为1秒,并按预期响应

然而,一旦公关10-20分钟,我们得到一个非常冷的负载-在那里它是30-60秒+

如果网站没有访客,而且很冷,这将是有意义的,但是我们有10+的访客在网站所有营业时间在线,至少3-5个请求公关分钟

当然,这种额外的负荷是完全不能接受的

有什么想法吗

我们的设置:

我们有两个azure web应用程序。一个用于生产,一个用于开发

该产品为“标准小型”,当CPU达到65-85%时自动缩放

我们的数据库是S2,容量为10GB

这是一个非常简单的标准ASP.NETMVC站点,包含一些文本、表单和一些远程连接

唯一的“非标准”是300万个索引页面,用于查看数据库(页面负载约为1s)。这收到了很多来自谷歌的访问者。我们还收到一些来自谷歌的爬网,因为我们有一个3mio+页面的网站地图

来自监视器的数据:

编辑:来自新监视器的数据

网络应用程序:

数据库:

配置:

生产web应用程序:

数据库:

我们的尝试:

1:一直开着

我们已经尝试了多次“始终打开”,但在最初的30分钟到6小时内,该站点只是停止运行,不再返回**。这当然是一个巨大的问题,不是一个解决办法

2:在虚拟机上运行

我们在Azure上的VM(4gb RAM)上有一个非常稳定和良好的设置,运行正常。我们的反应很慢,但效果不错。但是,我们希望使用web应用程序将扩展和平台“外包”到Azure-我们无法接受这种速度:)

**


它将永远无响应,直到超时。我尝试了两种场景:一种是停止和启动web应用程序有效,另一种是我必须重新部署以帮助进一步隔离瓶颈,请使用http:portal.azure.com上的新Ibiza门户

上面的屏幕截图显示了较旧的门户网站平均54分钟。显然,在5分钟平均值和DTU约为80%的情况下,可能存在消耗所有DTU的时段,这可能是瓶颈

使用新门户,这些DTU图的平均值为15秒,这种更精细的粒度可能会指出瓶颈。您可以切换到新门户并粘贴更多的图表吗

谢谢你,伙计,我找到了解决办法

解决方案不只是在一个地方,而是在多个地方

让我试着潜入。

主要的挑战是我们索引了300万页。谷歌每天在5万到15万页之间爬行,我们可以在谷歌网站管理员工具中看到这一点:

这些页面中99.9%是独特类型的地址页面。我仔细研究了一下,发现默认情况下需要1.5-2秒(!)。它在接近测试时甚至很慢

第一步是建立一个新的索引并优化代码。性能提高了5倍

现在,这本身并不能解决问题。我还将数据库升级到新的S3。。。并没有完全解决问题(但仍然更好)

我还将我们的Azure Web应用程序升级到7gb版本,然后一切开始运行

然而,每30分钟我们仍然有一个小问题。我进入我们的虚拟机,找到了一个旧的控制台作业,该作业将一些内容保持有序。。。。我暂停了那项工作

这两个发现都不可能是独立的——但在所有这些都被修复之后——我们又好了,网站的响应也可以接受


万岁

当你打开“始终打开”时,网站是如何运行的?当你说它不会回来,你的意思是你必须做一个全面的部署,使你的网站再次?@juvchan谢谢你问这个问题。它将永远无响应,直到超时。我尝试过两种场景:一种是停止和启动web应用程序有效,另一种是我必须重新部署。您的体验非常有趣,值得学习。您是否通过更改监视Azure SQL实例并检查连接(这可以在门户上完成)?S2的最大值为,如果您定期达到该最大值,则所有其他连接尝试都将超时。@LarshholdGaard我想知道是否是DTU,因为如果您达到100%DTU,所有其他对DB的请求都会被拒绝或超时,可能是您在网站上遇到响应缓慢的时间。与缩放无关:)感谢您的回答-似乎在大多数情况下,平均保持在50%左右,但在80-90%时,几乎没有峰值。我认为一个合理的测试是将数据库升级到2x DTU——我会这样做。然而,在我看来,所有指标似乎都是合理的。我在想:这可能是DNS问题吗?当我转到没有或非常有限的数据库的静态页面时,我会遇到问题。