ASP .Net网站 - 没有回复

时间:2012-07-21 02:54:18

标签: azure

我有一个ASP .Net网站托管在azure云上(以前在godaddy共享主机中) 该网站基本上是一个多用户测试网站,用户登录并进行在线测试。

该网站立即加载测试的所有问题(40个数字),并使用javascript show / hide向用户显示一个接一个。并且应使用确认按钮立即确认每个选定的答案,该按钮进行ajax调用以将答案保存到服务器。

现在两家托管服务提供商都给我同样的问题。当有这么多并发用户时(我认为)答案没有得到保存(ajax调用),当点击最终提交按钮(回发)时,页面就会挂起。所以它必须是我的代码的问题。

我昨天创建了一个新的Web角色实例,前60个测试没有任何问题,很少有用户在晚上报告错误。所以我猜一些内存泄漏或某种积累。

我使用LINQ to SQL进行数据库操作。

真正的问题是我不知道如何在我们的开发机器中复制这个(负载测试?)。

任何建议或任何形式的提示都表示赞赏。

(如果您需要有关代码或其他详细信息的更多信息,请与我们联系)

4 个答案:

答案 0 :(得分:1)

将应用程序移动到Windows Azure用于生产目的后,您确实应该拥有Cerebrata's Diagnostics Manager的副本。这将使您能够以确保解决正确问题的方式轻松查看所有日志和性能计数器。

如果没有一些数据,您是否需要扩展,扩展,或者是否存在对不同资源的争用。

我与这家公司或产品没有任何联系,我只是诚实地认为这是完成这项任务的最佳选择

答案 1 :(得分:0)

您是否在调试或发布中部署了网站?

当站点以调试模式部署时,我们经历了一些非常古怪的事情。

Debug vs. Release

答案 2 :(得分:0)

如果您的网站遇到性能问题(考虑到代码没有问题),您可以将Size of VM增加到中等或大,以获得更多资源。

同时处理流量(多个用户),根据您网站的流量,您可以scale your application从1个实例到无实例

答案 3 :(得分:0)

要在开发网站上轻松复制加载,您可以使用Visual Studio Web Test。

它允许记录一个浏览器会话并重放它,但使用一台或多台机器并行使用X会话。如果您有泄漏或并发错误,它应该可以帮助您查看它。

Web测试功能不是所有versions of Visual Studio的一部分,如果您今天没有它,它会变得昂贵。

你可以多花几个小时做同样的事情。

1 - 使用我最喜欢的网络上的一个debbuging工具fiddler来“记录”您的页面和服务器之间的交换。

2 - 用fiddler重播一些http请求,看看你是否可以重现这些问题

3 - 为了更多地推送您的网站,您可以创建一个小型C#程序,复制您在fiddler中看到的http请求,但是并行使用多个线程。您将需要使用HttpClient类。