首頁  >  文章  >  運維  >  關於win2008 R2與sql2005、2008運轉asp的時候速度緩慢的解決方法詳解

關於win2008 R2與sql2005、2008運轉asp的時候速度緩慢的解決方法詳解

黄舟
黄舟原創
2017-05-31 10:35:232128瀏覽

這篇文章主要介紹了win2008 R2與sql 2008運行asp的時候速度緩慢的解決方法,需要的朋友可以參考下

在以SQL Server 2005資料庫為後台的ASP網站存取速度慢,情況如下:一個伺服器上的兩個ASP網站,一個訪問很快,一個很慢。

原因排查的想法與步驟:

首先在我電腦上依序開啟這兩個網站,一個兩三秒就打開了,另一個需要10秒鐘。看來問題情況屬實;

登陸到伺服器,在伺服器本地的IIS裡分別開啟這兩個網站,結果還是一個快一個慢,排除是DNS解析時間和網路造成的影響;

打開兩個網站程式的首頁ASP文件,發現訪問快的網站沒有資料庫查詢,訪問慢的網站查詢了資料庫。由於程式裡的資料庫查詢語句也很簡單,排除了程式和資料庫查詢語句的問題,最後將問題定位到資料庫SQL Server上;

開啟SQL Server 2005 上面就一個資料庫,隨便在SQL Server Management Studio上執行了兩個複雜點的查詢語句,速度很快,感覺不像是資料庫查詢速度的問題。

系統CPU、記憶體負載都不高。實在找不到原因了。就開啟指令提示符,用netstat-ano檢查了下網路連線。發現只有sqlserver的1434端口在監聽,竟然沒有sqlserver的1433端口在監聽和連接,但是沒有監聽和連接網站為何卻能訪問。想著是否sqlserver修改了監聽埠了。

開啟SQL Server2005的SQL Server 設定管理員SQL Server 2005 網路設定->MSSQLSERVER的協定->TCP/IP ,發現TCP/IP竟然是停用的,協定裡只開啟了Shared Memory 。 屬性裡面設定的監聽埠倒是預設的1433.於是將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=数据库名;

以上是關於win2008 R2與sql2005、2008運轉asp的時候速度緩慢的解決方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn