解决以SQL Server 2005数据库的ASP网站访问速度慢:

情况如下:一个很慢,同一套程序一个访问速度很快,另一个很慢; 一个服务器上的两个ASP网站,一个访问很快,

原因排查的思路与步骤:

首先在我电脑上依次打开这两个网站,一个两三秒就打开了,另一个需要10秒钟。这个问题就是asp环境没问题;

在服务器本地的IIS里分别测试打开这两个网站,结果还是一个快一个慢,排除是DNS解析时间和网络造成的影响;

在iis里面打开两个网站程序的首页ASP文件,发现访问快的网站是没有数据库的探针,访问慢的网站连接了数据的网站。


先打开SQL Server2005的SQL Server 配置管理器SQL Server 2005 网络配置-->MSSQLSERVER的协议-->TCP/IP ,发现TCP/IP竟然是禁用的,协议里只开启了Shared Memory 。然后将TCP/IP启用。重启了SQL Server服务后打开网站速度就很快了。

问题算是解决了。原因就是由于没有开启SQL Server 里的TCP/IP协议,使用了Shared Memory的方式连接数据库,所以造成网站访问很慢。

下面是其他网友的补充方法:

最近碰到一台WEB服务器硬盘出现故障,又因服务器运行了10年便将WEB服务更换到一台新的服务器上,但迁移后出现了各种问题,现将问题和解决方法总结一下:

老服务器Windows2003+asp+sqlserver2000 新WEB服务器: Windows2008R2+asp+SQL Server2008

网站及数据库全部迁移过来后打开首页、内容页、后台都正常,但发现一个文件签收的页面打开速度非常慢,有时打不开。

查看了下代码一切正常找不到原因,感觉像是数据库查询时的问题,然后百度一下,说是数据库使用了内存共享连接模式,于是将数据库更换为TCP连接模式,这下能打开了,但是还是慢,大概需要5-8秒。
继续在网上寻找解决方法,有说是数据库查询后没有关闭,各种方法都尝试过了,最后一篇文章短短几句话让我解决了问题,原因是数据库连接语句不对。

原有的连接语句是:

Provider=Sqloledb;User ID=数据库帐号;Password=数据库密码;InitialCatalog=数据库名;Data Source=数据库IP;

该语句在原有服务器下没有任何问题,但是换到新的服务器环境下不行。

解决方法就是将连接语句换成下面的:

Driver={SQL SERVER};Server=数据库IP;UID=数据库帐号;PWD=数据库密码;Database=数据库名;

blob.png