我有一个ASP.NET应用程序可以读取大型数据库。它在更新面板中加载gridview。在VS2008中,只需在我的本地机器上运行,它运行得非常好。在生产中(相同的代码,刚刚发布并放在我们的一个网络服务器上),它运行缓慢。
Debug设置为false,因此这不是减速的原因。我不是一个经验丰富的网络开发人员,所以除此之外,请随意提出明显的建议。
我一直在使用Firebug来确定发生了什么,这就是出现的情况:
在制作时,大约有500个请求。时间线栏很短。 size列随运行而异,但在运行期间始终相同。
在本地,大约有30个请求。时间线栏占据了整个空间。
任何人都可以解释为什么会发生这种情况以及我可以采取哪些措施来解决这个问题?此外,我在网上找不到任何关于此的内容,因此任何参考资料也都有用。
编辑:我忘了提到我在本地和生产环境中都使用完全相同的数据库。编辑:__ EVENTTARGET指向更新进度的计时器。
编辑:计时器似乎正在工作 - 我将它设置为更大的间隔,这表明本地应用程序正在处理~50000条记录/秒,并且生产应用程序(相同的数据库,相同的代码!)处理最多〜5000条记录/秒回到原点,一个神秘缓慢的应用程序。 :(
答案 0 :(得分:0)
我的猜测是你在开发盒和生产中使用的数据库的大小。你的gridview的每一行都有可能发生的事情只发生在你的盒子上30次,因为它的数据少于生产吗?
系统调试 - 将其删除并一次添加一个,直到您看到更改。
答案 1 :(得分:0)
雷顿,
您可以查看Web服务器的事件查看器日志吗?你有什么失败的吗?
您是在IIS或dev服务器上运行VS2008中的应用程序吗?
答案 2 :(得分:0)
任何时候我在看似相同的dev和prod代码之间都遇到了奇怪的差异,我已经学会了快速查看生产中的 machine.config 文件。
如果您有权访问它,则可以将其与local copy进行比较,并特别审核these settings(尽管链接的帖子本身并未引用您的确切问题。)
答案 3 :(得分:0)