[英]Connecting to SQL Server very slow
我有一個標准的PHP應用程序,它使用SQL Server作為后端數據庫。 我訪問的每個頁面的響應都有嚴重延遲。 這是我的開發服務器,所以它不是現場設置的問題,但它對於在系統上工作真的很煩人。
我每頁都有5到8秒的延遲。
我已將問題隔離到調用mssql_connect(調用mssql_pconnect無效)
這是一個關於我如何設置(或沒有設置,因為我沒有真正更改默認配置)SQL服務器的網絡問題。 這不是一個嚴格的編程問題,但我想我可能會在這里獲得一些有價值的反饋。
任何人都可以告訴我是否有一個技巧,特定的協議集,注冊表設置,什么會殺死這種延遲?
我在每次連接時也遇到了5-10秒的延遲,使用PHP的官方Microsoft SQL驅動程序(由@gaRex建議) - 這里發布的答案都沒有為我解決。
正如@ircmaxell所建議的,我的問題是DNS問題 - 解決方案是編輯\\windows\\system32\\drivers\\etc\\hosts
文件(本地本地主機文件)並將自己的機器名稱添加到它。
在“系統屬性”對話框中,找到計算機的“計算機名稱” - 然后將類似127.0.0.1 my-computer
的行添加到本地主機文件中。
對我來說,延遲再次發生,在下面的加載頁面的嘗試 - 之后,它是超級快,沒有任何延遲。
請注意,即使在物理計算機上也可能出現此問題,而不僅僅是在VM上。
希望這有助於其他人。
我在運行虛擬PC時遇到了網絡問題,網絡相關的一切都很慢,請嘗試在注冊表中添加此條目:
HKEY_LOCAL_MACHINE \\系統\\ CurrentControlSet \\服務\\ TCPIP \\參數
創建名為DisableTaskOffload的新DWORD值並將其值設置為1。
重新啟動計算機。
它對我有用, 來源 。
它可能是DNS問題嗎? 我知道MySQL在每次登錄時都會進行反向DNS查詢(而不是每個連接)。 如果您的服務器沒有反向DNS記錄(或者您的DNS很慢),則可能導致登錄時出現嚴重延遲。 MySQL中有一個選項可以禁用它。 我不確定SQL Server,但我認為它可能會做類似的事情......
我記得同樣的問題,但忘記了,我們如何解決它。
為了澄清請指定確切的連接字符串,您的SQLserver版本,並嘗試啟動這個舊的好實用程序c:\\ WINDOWS \\ system32 \\ cliconfg.exe,這也可以帶來一些亮點。
是的,我知道,它來自2k,但m $的人不喜歡從頭開始創建客戶端工具。
還嘗試為PHP獲取“正確”的mssql客戶端dll。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.