我有一个相当奇怪的场景。我们在云上托管了一系列WEBAPIs。我们在Windows 8应用程序中使用这些服务。问题是,当服务在本地运行时,它只需不到400ms,但当托管在Windows azure上时,某些请求需要20秒。我已经检查了我们的数据库表的索引,它是正常的。我不知道要分析什么以及如何提高性能。谢谢!
发布于 2013-08-06 17:29:31
每个人都非常感谢!但我找到了在azure部署上使用dottrace(优秀的分析工具)的方法。这是链接
您还可以使用windows azure诊断程序和秒表类将所有时间记录到wad表中。我还发现,在另一个线程中,对azure服务的第一个请求总是很慢。我刚刚把它复制到了下面
Serkan,你需要首先在你的帖子中确认你是否已经在Windows Azure上发布了云服务或网站。基于云服务(网络角色)或WebSite,您的问题的答案将有所不同。如果你想了解更多,我会解释一下背后发生了什么。
由于你建议你的第一次连接速度很慢,我可以看到Windows Azure网站会发生这种情况。Windows Azure网站在共享资源池中运行,并使用热(活动)和冷(非活动)站点的概念,在这些站点中,如果网站在x时间内没有活动连接,则该站点进入冷状态,这意味着主机IIS进程退出。当建立到该网站的新连接时,需要几秒钟时间才能使网站准备就绪并正常工作。根据你的第一页代码的不同,第一次加载网站的时间会有所不同。记录了类似的讨论:使用.net的MySQL连接器打开MySQL连接非常慢
对于Windows Azure云服务,整体应用程序模型是不同的。您的webrole有其自己的IIS服务器,该服务器完全专用于您的应用程序,并且不会出现上述网站限制,但是,可能还有其他原因导致页面加载速度较慢。如果你正在使用WebRole,那么你可以做的就是首先运行一个页面加载分析器,然后运行到你的Azure实例,以收集页面加载数据,看看你还可以做些什么来提高性能。
发布于 2013-08-06 17:05:41
你显然需要分析你的应用程序来找出真正的原因。看看这两篇文章,这两篇文章应该会让你入门:
https://stackoverflow.com/questions/18071780
复制相似问题