2

这是我的情况:

我在 LAN 中有一个 Web 和数据库服务器 (SQL Server 2005)。

webserver(iis6) 有几个应用程序池和站点在 asp.net session inproc 下运行良好。两台服务器都运行win 2k3

现在我从 inproc 切换到 SQL Server,我收到很多 SQL 超时过期消息。但仅来自将会话移动到 SQL Server 的一个 Web 应用程序。所有其他网站不受影响。超时发生在使用 inproc 时运行良好的常规数据库查询上。

我该如何解决这个问题?

提前致谢!

此致,

J.P

编辑:根据要求,我使用 SQL Server 的 Web 应用程序的 web.config:

<sessionState 
       mode="SQLServer" 
       timeout="60" sqlConnectionString="Data Source=192.168.1.80;Persist Security Info=True;User ID=aspstate;Password=state"
       />

我还忘了提到带有 SQL Server 的问题网站与一个运行 inproc 的 Web 应用程序共享一个应用程序池。我只是将这两个 Web 应用程序拆分到它们自己的应用程序池中。但我认为这不会解决超时问题。奇怪的是所有其他网站都运行良好

编辑 2:我今天再次尝试从 inproc 切换到 sqlserver 时收到此消息。作为数据访问,我使用了很多类型化的数据集 (*.xsd) 我的网络应用程序是一个电子商务网站,每天有大约 2k 的唯一访问者这里是消息:

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
4

1 回答 1

1

这听起来像您的一个特定应用程序正在泄漏连接并填充 sql server 的连接池,从而导致超时。跟踪这些问题可能会非常令人沮丧,请查看分析器应用程序和procexp等工具。

于 2010-02-03T14:12:48.477 回答