今早上机房提交问题说是一个服务器上的两个asp网站,一个访问很快,一个很慢。让我帮忙检查下原因。
以下是我检查分析问题的思路步骤:
- 首先在我电脑上依次打开这两个网站,一个两三秒就打开了,另一个需要10秒钟。看来问题情况属实;
- 登陆到服务器,在服务器本地的IIS里分别打开这两个网站,结果还是一个快一个慢,排除是DNS解析时间和网络造成的影响;
- 打开两个网站程序的首页asp文件,发现访问快的网站没有数据库查询,访问慢的网站查询了数据库。由于程序里的数据库查询语句也很简单,排除了程序和数据库查询语句的问题,最后将问题定位到数据库SQLserver上;
- 打开sqlserver2005 上面就一个数据库,随便在SQL Server Management Studio上执行了两个复杂点的查询语句,速度很快,感觉不像是数据库查询速度的问题。
- 系统CPU、内存负载都不高。实在找不到原因了。就打开命令提示符,用netstat-ano检查了下网络连接。发现只有sqlserver的1434端口在监听,竟然没有sqlserver的1433端口在监听和连接,但是没有监听和连接网站为何却能访问。想着是否sqlserver修改了监听端口了。
- 打开sqlserver 2005的SQL Server 配置管理器--SQL Server 2005 网络配置->MSSQLSERVER的协议->TCP/IP ,发现TCP/IP竟然是禁用的,协议里只开启了Shared Memory 。属性里面设置的监听端口倒是默认的1433.于是将TCP/IP启用。重启了SQL Server服务后打开网站速度就很快了。
问题算是解决了。原因就是由于没有开启SQL Server 里的TCP/IP协议,使用了Shared Memory 的方式连接数据库,所以造成网站访问很慢。至于那几种连接方式的详细信息还有待以后具体了解
阅读(3483) | 评论(0) | 转发(0) |