#sql-server #sql-server-2008-r2
#sql-сервер #sql-server-2008-r2
Вопрос:
Я использую Sqlserver express 2008 (64bit) на Windows Server 2012R2 с 56 ГБ оперативной памяти.
У меня есть веб-приложение, написанное на c # asp.net MVC5 размещен на 64-битном сервере IIS 8.5. Это приложение было размещено как 32-разрядное приложение, поскольку оно имеет другие 32-разрядные зависимости.
Извлечение данных происходит чрезвычайно медленно, т. Е. для выполнения простого запроса, который возвращает 5 записей, требуется около 1,2 минуты. Я настроил минимальную память сервера sql Server на 8 ГБ и максимальную на 28 ГБ (если это имеет значение, поскольку его экспресс-версия, я не думаю, что это имеет значение)
Монитор ресурсов показывает следующую статистику :
- 6,82,000 виртуальной памяти
- 4,27,000 Рабочая Виртуальная память
- 1467000 разделяемой памяти
- 82000 частной памяти
Проблема в том, что точно такая же настройка отлично работает в той же конфигурации с 8 ГБ оперативной памяти.
У меня есть 2 вопроса :
-
Может ли это быть узким местом SQLServer? Если да, то как приступить к устранению неполадок.
-
Есть ли проблемы с производительностью у 32-разрядного приложения, подключающегося к 64-разрядному экземпляру sqlserver? Должен ли я вместо этого попробовать 32-битный экземпляр?
Комментарии:
1. В подобных случаях было бы полезно включить: запрос, который выполняется медленно, определение (ы) таблицы задействованных таблиц, любые индексы, созданные в таблице (ах), план выполнения запроса. Также может быть, что ваша статистика устарела (посмотрите онлайн, как ее перестроить) или что ваши индексы слишком сильно фрагментированы (посмотрите онлайн, как их перестроить).).
Ответ №1:
Это то, где живет каждый администратор базы данных SQL, когда пользователь говорит, что мое приложение / запрос выполняется медленно. Скорее всего, проблема не в памяти. Часто это может быть проблема с отслеживанием параметров в запросе, плохая индексация в таблице или какая-либо другая проблема. Есть много способов устранения неполадок, и есть много сценариев для запуска, чтобы выяснить, что происходит. Я бы рекомендовал инструментарий Брента Озара, доступный на GITHUB, и использовать sp_BlitzFirst, sp_BlitzIndex и sp_BlitzCache.