2010-07-11 5 views
1

У меня есть стандартное приложение php, которое использует SQL Server в качестве внутренней базы данных. Существует серьезная задержка в ответе за каждую доступную мне страницу. Это мой сервер разработки, поэтому это не проблема с живой настройкой, но это очень раздражает для работы в системе.Подключение к SQL Server очень медленное

У меня есть 5 - 8 секундная задержка на каждой странице.

  • Я запускаю SqlServer 2000 Developer Edition на виртуальной машине (Virtual PC).
  • Я установил SqlServer на свою машину разработки, но получаю такую ​​же задержку.
  • Я выделил вопрос на призыв mssql_connect (вызов mssql_pconnect не имеет никакого эффекта)

  • Это вопрос сети о том, как я настроил (или не установлен, так как я на самом деле не изменить default config) SQL-сервер. Это не проблема программирования, но я думал, что могу получить ценную обратную связь.

Может ли кто-нибудь сказать мне, есть ли уловка, определенный набор протоколов, настройка реестра, что-то, что убьет эту задержку?

+0

Что такое ОС хоста? Как вы ссылаетесь на сервер БД в вызове соединения? –

ответ

1

я наткнулся на сетевых проблем при запуске виртуального ПК, все связанные с сетью происходит медленно, попробуйте добавить эту запись в реестре:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters

  • Создайте новое значение DWORD с именем DisableTaskOffload и установите его значение 1.

  • Перезагрузите компьютер.

Это сработало для меня, source.

+0

Спасибо, но, похоже, не имеет никакого значения. –

+0

Вы можете попробовать протестировать, если что-то еще связанное с сетью медленное, попробуйте перенести файл, если он идет медленнее, а это связано с виртуальным ПК, для меня я перешел на виртуальный бокс. – Rodrigo

1

Возможно, это проблема DNS? Я знаю, что MySQL выполняет обратный поиск DNS для каждого входа (не для каждого подключения). Если у вас нет обратной записи DNS для вашего сервера (или ваш dns медленный), это может вызвать серьезную задержку при входе в систему. В MySQL есть возможность отключить это. Я не уверен в SQL Server, но я бы предположил, что это может быть что-то подобное ...

1

Я помню ту же проблему, но забыл, как мы ее решаем.

Чтобы уточнить, пожалуйста, укажите точные строки подключения, версии SQLserver, а также попытайтесь запустить эту старую полезную утилиту c: \ WINDOWS \ system32 \ cliconfg.exe, которая также может принести некоторый свет.

Да, я знаю, это из 2k, но парни в m $ не любят создавать клиентские инструменты с нуля.

Также попробуйте получить «правильные» клиентские библиотеки mssql для PHP.

1

Я также испытывал задержку в 5-10 секунд при каждом подключении, используя официальные драйверы Microsoft SQL для PHP (как было предложено @gaRex) - ни один из ответов, размещенных здесь, не решил это для меня.

Как явствует из @ircmaxell, моя проблема была проблемой DNS - и решение заключалось в том, чтобы отредактировать файл \windows\system32\drivers\etc\hosts (локальный файл локального хоста) и добавить к нему имя моей собственной машины.

В диалоговом окне «Свойства системы» найдите «имя компьютера» вашего компьютера - затем добавьте строку, например 127.0.0.1 my-computer, в файл локального хоста.

Для меня задержка произошла еще раз при следующей попытке загрузить страницу - после этого она была супер быстрой, без задержки.

Обратите внимание, что эта проблема может возникать даже на физической машине не только на виртуальной машине.

Надеюсь, это поможет кому-то еще.

Смежные вопросы