6

我有一个相当奇怪的场景。我们在云上托管了一系列 WEBAPI。我们在 Windows 8 应用程序中使用这些服务。问题是当服务在本地运行时,它需要不到 400 毫秒,但当托管在 Windows azure 上时,某些请求最多需要 20 秒。我已经检查了我们的数据库表的索引和它的罚款。我不知道要分析什么以及如何提高性能。谢谢!

4

2 回答 2

4

大家非常感谢!但我找到了一种在天蓝色部署中使用 dottrace(优秀的分析工具)的方法。链接在这里

http://blog.maartenballiauw.be/post/2013/03/13/Remote-profiling-Windows-Azure-Cloud-Services-with-dotTrace.aspx

您还可以使用 Windows azure 诊断程序和秒表类将所有时间记录到 wad 表中。还发现对天蓝色服务的第一个请求在另一个线程中总是很慢。刚刚复制到下面

Serkan,您首先需要确保在您的帖子中,您已将云服务或网站发布到 Windows Azure。基于云服务(Web 角色)或网站,您的问题的答案会有所不同。当您想了解更多信息时,我将解释背后发生的事情。

正如您所说的第一次连接速度很慢,我可以看到 Windows Azure 网站会发生这种情况。Windows Azure 网站在共享资源池中运行,并使用热(活动)和冷(非活动)站点的概念,如果网站在 x 时间内没有活动连接,则站点进入冷状态意味着主机 IIS进程退出。当与该网站建立新连接时,需要几秒钟才能使该网站准备就绪并正常工作。取决于您的第一页代码如何,首次加载网站的时间会有所不同。记录了类似的讨论:Very slow opening MySQL connection using MySQL Connector for .net

使用 Windows Azure 云服务,整个应用程序模型是不同的。您的 webrole 有自己的 IIS 服务器,该服务器完全专用于您的应用程序,不会出现上述网站限制,但可能有其他原因可能导致页面加载速度较慢。如果您使用的是 WebRole,那么您可以首先运行页面加载分析器,然后 RD 到您的 Azure 实例以收集页面加载数据,看看您还可以做些什么来提高性能。

于 2013-08-06T09:29:31.290 回答
0

您显然需要分析您的应用程序以找到真正的原因。查看这两篇文章,它们应该可以帮助您入门:

于 2013-08-06T09:05:41.230 回答