2010-01-14 3 views
3

Я разрабатываю с использованием VSTS 2008 + C# + .Net 3.5 + ASP.Net + SQL Server 2008 Express. Я работаю над 32-разрядной платформой с Windows Server 2003. Проблема, которую я нахожу, - это простой оператор SQL, такой как select/create простая таблица, очень мала от SQL Server Management Studio.анализирует проблему производительности SQL Server?

BTW: Я думаю, что это должна быть проблема с машиной, так как тот же код работает правильно на другой машине. Но я не уверен на 100%. Может быть, эта машина вызывает ошибку в моем коде?

Любые идеи, как анализировать, чтобы найти узкое место низкой производительности?

ответ

3

Хорошим началом является использование Профилировщик SQL Server для определения долговременных запросов.

После того, как у вас есть представление о том, какие из них являются проблематичными, вы можете использовать SQL Server Management Studio, чтобы изучить их планы запросов, чтобы увидеть, если вы должны добавить все индексы и т.д.

+0

Можно ли использовать SQL Server Profiler для SQL Server (бесплатно) Express Edition? Я сомневаюсь. :-) – George2

+0

И как определить, является ли это проблемой SQL Server (или моей проблемы с кодом) или машинной средой, которая влияет на производительность SQL? – George2

+1

SQL Server Profiler - это инструмент, который поставляется с SQL Server. Он недоступен для Express, но если у вас есть полный SQL Server на другом компьютере, вы можете профилировать удаленную базу данных Express. –

1

В дополнение к предыдущему ответу вы можете, если ваша учетная запись имеет разрешение, отслеживать блокировки объектов базы данных, пока ваш запрос работает плохо. Кроме того, вы можете запустить мастер настройки индексов, чтобы узнать, что он говорит.

+0

И как определить, является ли это проблемой SQL Server (или моей проблемы с кодом) или машинной средой, которая влияет на производительность SQL? – George2

+1

, если нет блокировок, профиль SQL выглядит хорошо, и, похоже, все нужные индексы вы должны начать смотреть на код/​​среду. Отличается ли запрос от менеджера предприятия на одном компьютере? –

+0

«Монитор блокирует объекты базы данных, пока ваш запрос работает плохо» и «вы можете запустить мастер настройки индекса» - можете ли вы показать мне, как? – George2

1

Если вы думаете, что это машина конкретный вопрос, хороший старт для мониторинга использования памяти с помощью Sql Server, выполнение этого sentence:

DBCC MEMORYSTATUS; 
+0

Затем как анализировать на основе этого вывода команды? – George2

+0

Можем ли мы использовать эту команду из SQL Server (бесплатно) Express Edition? – George2

1

Если она отлично работает на некоторых машинах, но не другие, убедитесь, что машина работает медленнее, имеет тот же индекс, что и более быстрый (удивительно, как часто индексы не перемещаются на другую машину) и обновляют статистику.

Он также может быть намного медленнее, если оборудование менее надежное на более медленной машине.

Планы профилирования и выполнения также могут помочь выявить узкие места и проблемы с производительностью.

Проверьте также взаимоблокировки, часто код, который отлично работает сам по себе, может конфликтовать с чем-то еще, что рабочий сервер работает одновременно.

Также многие разработчики создают код на машине, которая имеет гораздо меньшую нагрузку и гораздо меньше данных, чем конечная производственная машина, а затем удивляется, когда код работает медленно. Если у вас не было полного набора данных на машине dev, у вас возникли серьезные риски написания плохого кода. Если вы не выполняете нагрузочное тестирование, возможно, вам следует.

И зачем разрабатывать экспресс, если окончательный вариант не будет в Express, купить версию разработчика и иметь все инструменты, необходимые для настройки и мониторинга при разработке.

Другие приложения работают на медленном компьютере? Как правило, неудовлетворительная практика заключается в том, чтобы запускать что-либо, кроме SQL Server, на машине, поскольку сервер SQl будет нуждаться во всей памяти машины.

+0

«Планы профилирования и выполнения также могут помочь выявить узкие места и проблемы с производительностью». - Я хочу узнать больше об этой теме, каких-либо ссылочных документах? – George2

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