2016-02-26 20 views
0

Am 在asp.net web应用程序和sql server中作为数据库工作。在这里,我们下载excel表格(每个位置创建新的excel表格)的位置详细信息报告,并将其放置在一个正在发生的文件夹中。问题是许多用户将访问Web应用程序并下载报告, if任何用户同时下载意味着它只为一个用户下载,而其他用户的下载过程将停止。在ASP.NET中同时报告下载问题?

采取的措施:1)增加超时时间。 2)根据服务器内核的不同,在sqlserver中更改MAXDOP。 3)连接关闭 4)将debug属性更改为false以获得更好的gc。 5)重新索引

任何其他建议来捍卫这个问题?

回答

0

是的。检查锁定 - 2使NO SENSE无效,因为多个查询可以同时执行,除非有人在未使用独占或序列化锁定报告(应对查询提供READCOMITTED提示)方面受到挑战。

一般找到问题。从你的问题来看,它甚至不清楚SQL Server是否是瓶颈 - 是否可以在服务器上使用它(它完全不支持 - 在服务器上运行办公室)本质上是单线程的?考虑到你提供的信息,你甚至会责怪SQL Server,这表明没有真正的调试提示(正如可以看到试图责怪GB或重新定位两者,这不会导致SQL端的任何并发操作)。与你给予同样的理由,我可以建议你从现在开始吃素食者,并检查它是否会提高报告表现。这与仅仅改变调试属性或maxdop一样偶然不应该发生的情况一样明智。

从分析开始。找出你的SQL Server是否应该受到指责。 MAXDOP应该始终配置为合理价值。时间到?似乎你的查询是优化不足的。除非你做我做的事 - 对30亿行表进行统计分析 - 如果你的疑问是明智的,你就不应该有一个严重的问题。这表示严重的查询问题。

+0

啊@tom谢谢你的评论。就像用户无法同时下载报告一样简单,仅供参考,我们用csv格式下载。 p.s:如果问题很混乱,请编辑我的问题。谢谢 – SINDUJA

+0

我不能编辑你的问题变得更有意义,因为我现在知道你在这里问的是什么。开始基线调试 - 认真。这不是一个SQL问题,只要你没有做任何步骤来找出你的应用程序部分实际上是负责任的,你是一个完全失败的程序员。相反,你应该责怪数据库 - 除非开发人员真的无能(全局锁,表独占锁被迫)最可能不会被指责。开始一些作业 - 找出应用程序停止的地方。如果你认为它是SQL - 收集数据来证明它。 – TomTom