Назад | Перейти на главную страницу

SQL Server 2000 HIGH CPU Usage with BusinessObjects reports (неразрешимо?)

У меня есть один из тех странных вопросов, которые практически неразрешимы (единственный способ решить их - выбросить технологию и купить новые). У меня было несколько экспертов (около 10 консультантов), которые должны были приехать и устранить мою проблему - без решения - поэтому я решил опубликовать ее здесь. [Пожалуйста, не стреляйте в меня, потому что это было сделано так называемыми экспертами !! Занимаюсь переделкой его в 64-битную версию :)]

У меня следующая проблема:

Окружающая среда:
Windows Server 2003 x86 Enterprise (32-разрядная)
16 ГБ RAM
Fibre Channel 4 ГБ EMC SAN Storage (разделы 500 ГБ, ОС отделена от данных)
SQL Server 2000 SP4 x86 Enterprise (32-разрядная версия)
SAP BusinessObjects XI 3.1 (Java, Apache, Tomcat)
«бизнес-базы данных с юниверсами и бизнес-отчетами»
McAfee Anti-Virus Enterprise

Конфиг:
/ PAE / 3GB = boot.ini
SQL = использовать AWE, Minmem = 4 ГБ, Maxmem = 12 ГБ
Загружены последние патчи, в том числе тот, в котором SQL-адрес больше памяти
sqlserver.exe отображает 130,123 КБ в диспетчере задач (красные огни!!)

Проблема: Я могу вытащить сервер, используя все ядра, максимум до 100% (см. Снимок экрана), вытащив один отчет. На данный момент у нас около 200 пользователей, подключающихся с помощью различных программ клиентских баз данных, а также отчетов BO.

Я подобрал это в ProcessExplorer Прерывания на Аппаратные прерывания являются 80% при запуске этого запроса. Я также заметил, что SQL Server показывает системные процессы, которые находятся в рабочем состоянии, чтобы иметь PAGELATCH_SH

Я пробовал "Google" последние две недели без особых результатов. Я лично считаю, что базовая база данных и запросы, производимые BO (вселенные, построенные на реляционных структурах), вызывают такое огромное количество наборов данных, которые передаются из SQL в BO. Отчет BO представляет собой одностраничный просмотрщик.

Скриншот: Скриншот терминальных сессий (Разрешение 2560x1440)

Я был бы очень признателен за человека, который мог бы дать ценную информацию, почему это происходит. У нас есть эта проблема в течение последних 3 месяцев, и базы данных продолжают увеличиваться в размере.

Спасибо

sqlserver.exe отображает 130,123 КБ в диспетчере задач (красный свет !!)

Это нормально для машин x86, использующих AWE. Используйте Perfmon, чтобы узнать, сколько памяти фактически использует SQL Server.

Посмотрите на план выполнения запроса, выполняемого BO, и посмотрите, нужно ли добавлять индексы в таблицы для повышения производительности.

Когда ЦП работает на 100%, на каком% работает ЦП ядра (числа из диспетчера задач в порядке)?

Я только что видел снимок экрана, когда Windows использует 80-90% процессорного времени для памяти ядра, это означает, что она тратит все свое время на управление расширенной памятью.