得十分笨拙,大量增加建立数据库连接的时间。结果是,过长的连接延时将降低数据库的性能。
用 Connection 对象的 ConnectionTimeout,您可以限制放弃连接尝试并发出错误消息之前应用程序等待的时间。例如,下面的脚本设置 ConnectionTimeout 属性,在取消连接尝试之前等待 20 秒:
Set cn = Server.CreateObject("ADODB.Connection")
cn.ConnectionTimeout = 20
cn.Open "FILEDSN=MyDatabase.dsn"
默认的 ConnectionTimeout 属性是 30 秒。
注意 在将 ConnectionTimeout 属性合并到数据库应用程序之前,一定要确保连接提供程序和数据源支持该属性。
共享连接
经常建立和中断数据库连接的 Web 数据库应用程序可能会降低数据库服务器的性能。ASP 支持用 ODBC 3.5 的共享特性有效管理连接。连接共享维持打开的数据库连接并管理不同的用户共享该连接,以维持其性能和减少空闲的连接数。对每一个连接请求,连接池首先确定池中是否存在空闲的连接。如果存在,连接池返回连接而不是建立到数据库的新连接。
如果希望将 ODBC 驱动程序加入到连接共享中,则必须配置数据库驱动程序并在 Windows NT 注册表中设置驱动程序的 CPTimeout 属性。当 ODBC 断开连接时,连接被存入池中,而不是被断开。CPTimeout 属性决定在连接池中的连接保留的时间长度。如果在池中连接保留的时间比 CPTimeout 设置的时间长,则连接将被关闭并且从池中删除。CPTimeout 的默认值是 60 秒。
您可以通过创建如下设置的注册表键来有选择地设置 CPTimeout 的属性,从而启用特定 ODBC 数据库驱动程序的连接池:
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\driver-name\CPTimeout = timeout
(REG_SZ, units are in seconds)
例如,下面的键将 SQL Server 驱动程序的连接池的超时设置定为 180 秒(3 分钟)。
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Server\CPTimeout = 180
注意 默认情况下,通过将 CPTimeout 设置为 60 秒,Web 服务器将激活 SQL Server 的连接池。
使用跨页连接
尽管您可以通过存储 ASP 的 Application 对象的连接重复使用跨页连接,但是,始终使连接保持打开是不必要的,也没有充分利用连接池的优点。如果有许
用 Connection 对象的 ConnectionTimeout,您可以限制放弃连接尝试并发出错误消息之前应用程序等待的时间。例如,下面的脚本设置 ConnectionTimeout 属性,在取消连接尝试之前等待 20 秒:
Set cn = Server.CreateObject("ADODB.Connection")
cn.ConnectionTimeout = 20
cn.Open "FILEDSN=MyDatabase.dsn"
默认的 ConnectionTimeout 属性是 30 秒。
注意 在将 ConnectionTimeout 属性合并到数据库应用程序之前,一定要确保连接提供程序和数据源支持该属性。
共享连接
经常建立和中断数据库连接的 Web 数据库应用程序可能会降低数据库服务器的性能。ASP 支持用 ODBC 3.5 的共享特性有效管理连接。连接共享维持打开的数据库连接并管理不同的用户共享该连接,以维持其性能和减少空闲的连接数。对每一个连接请求,连接池首先确定池中是否存在空闲的连接。如果存在,连接池返回连接而不是建立到数据库的新连接。
如果希望将 ODBC 驱动程序加入到连接共享中,则必须配置数据库驱动程序并在 Windows NT 注册表中设置驱动程序的 CPTimeout 属性。当 ODBC 断开连接时,连接被存入池中,而不是被断开。CPTimeout 属性决定在连接池中的连接保留的时间长度。如果在池中连接保留的时间比 CPTimeout 设置的时间长,则连接将被关闭并且从池中删除。CPTimeout 的默认值是 60 秒。
您可以通过创建如下设置的注册表键来有选择地设置 CPTimeout 的属性,从而启用特定 ODBC 数据库驱动程序的连接池:
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\driver-name\CPTimeout = timeout
(REG_SZ, units are in seconds)
例如,下面的键将 SQL Server 驱动程序的连接池的超时设置定为 180 秒(3 分钟)。
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Server\CPTimeout = 180
注意 默认情况下,通过将 CPTimeout 设置为 60 秒,Web 服务器将激活 SQL Server 的连接池。
使用跨页连接
尽管您可以通过存储 ASP 的 Application 对象的连接重复使用跨页连接,但是,始终使连接保持打开是不必要的,也没有充分利用连接池的优点。如果有许
| 对此文章发表了评论 |
