当将ASP.MVC应用程序发布到Windows 2012时,我遇到了一个奇怪的问题。
该应用程序相当简单,在访问的大多数页面上,它将查询服务器上承载的Access数据库。
我注意到查询非常慢(通常需要7-10秒来完成),如在MiniProfiler中运行应用程序时所示。
作为一个简单的测试,我决定把这个应用程序放在我的Windows 10笔记本电脑上,看看是否有不同之处,而且速度要快得多(大多数查询都在200 As以下)。
这就是我迄今为止尝试过的:
C:\inetpub\wwwroot\website和C:\Test\DatabaseMaxBufferSize键值从Access Connectivity Engine中的0增加有没有人知道我可以尝试调试这个问题的方法,或者任何可能的解决方案?
我的笔记本电脑和服务器在测试时都在同一个网络上,我正在从ipad上访问这个应用程序。
在服务器本身的浏览器上使用应用程序(url = 10.0.0.1或localhost)时,我也遇到了同样缓慢的情况。
当我从服务器上的控制台应用程序执行完全相同的查询代码时,它的运行速度要快得多(与膝上型计算机一样)。我只是通过asp应用程序来体验这个问题。
我尝试了以下几点:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=W:\My Backoffice.mdb
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Test\My Backoffice.mdb
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\ServerName\W\My Backoffice.mdb
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\ServerName\C\Test\My Backoffice.mdb以16.0和12.0作为ACE.OLEDB版本,其中W是一个本地服务器驱动器,用作网络共享域。所有这些都给出了同样的结果。
发布于 2017-06-09 20:45:14
如果你的笔记本电脑有SSD,那就可以解释我了。SSD具有10倍于主轴驱动器的IOPS性能。可能值得看一下MVC编码,看看程序是否有一些处理或代码迭代,这可能会减慢web应用程序的速度。
https://serverfault.com/questions/854913
复制相似问题