Windows Azure 上的 ASP.NET 应用程序性能问题

标签 asp.net performance azure hosting load-time

我们在 Windows Azure 上部署了一个应用程序作为 Web 角色,并且我们正在使用 Pingdom 来测试页面加载时间:http://tools.pingdom.com/fpt/

Windows Azure 上应用程序的 URL 为: http://www.doctorspring.com 。 应用程序的加载时间通常在 7 秒左右。 数据库是SQL Azure数据库,角色和数据库在同一个可用区。

示例 pingdom 结果:http://tools.pingdom.com/fpt/#!/CllGggrMz/http://www.doctorspring.com/

示例 pingdom 结果(使用 gzip):http://tools.pingdom.com/fpt/#!/f2TUbR6OX/www.doctorspring.com

怀疑 Azure 可能是问题所在,我们尝试了 Somee 的免费托管,如下所示: http://www.doctorspring.somee.com Somee 上应用的加载时间约为 3.5 秒。

示例 pingdom 结果:http://tools.pingdom.com/fpt/#!/o3gZOjTwH/http://www.doctorspring.somee.com/

这对我们来说是一个巨大的性能问题。 您能否帮助我们了解 Azure 的问题或提出一种方法来克服它?

谢谢, 曼尼什

最佳答案

在这两种情况下,加载主页的速度都慢得令人无法接受 - 生成页面需要 3.5 秒,这比网站上没有加载时所需的速度慢了大约 10 倍。我预计该网站即使在中等负载下也会崩溃,具有这种性能。

在不知道网站是如何构建的情况下,很难解释一个环境比另一个环境更快的原因 - 但我的猜测是,无论生成页面的是什么(某种 CMS?)都是原因。众所周知,Azure 在执行数据库查询时速度会有点慢 - 尽管通常这只在极端条件下才会表现出来。

我建议调整 CMS - 尤其是缓存。我们发现 Azure 通常相当快,但在进行数据库查找时(例如检索 CMS 的内容),它可能是可变的;如果您的 CMS 执行大量数据库查询来获取主页内容,那么速度将会很慢。

运行 Yslow 也是值得的 - 在提高性能方面有一些唾手可得的成果。

关于Windows Azure 上的 ASP.NET 应用程序性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15409444/

相关文章:

azure - 无法删除 Azure Databricks 托管资源组

c# - 为什么 CSS 和 JS 文件绕过 Asp.Net MVC 路由?

asp.net - 对于在 Azure Web App 上运行的任何自定义目标,NLog 都会抛出 'Target cannot be found'

css - 水平 JQuery UI slider

javascript - Chrome 中的 Canvas 性能变化

android ble连接慢

c# - 带有多个下拉列表的详细 View

r - 在大型数据表中替换 NA 的最快方法

azure - SQL Azure - 由于存储凭据无效,导入导出操作失败

azure - 使 Invoke-AzureRmResourceAction 与暂存槽一起使用