2011-02-10 5 views
0

Я работаю здесь, в небольшой компании и одна из моих работ является введение системы ERP «AXAVIA» (www.axavia.com)настройки производительности системы ERP называется axavia

Есть клиенты .NET и базу данных MSSQL Server 2005 размером около 10 ГБ. Система работает с моделью метаданных, это означает, что у них очень мало таблиц (по одному для каждого типа данных, а некоторые для отношений), и эти данные вычисляются с помощью adhoc-запросов. До 2000 партий/сек ...

Я думаю, что они действительно не специалисты по базам данных, потому что ничего не знали о фрагментации индекса, и я все же удалил много неиспользуемых индексов - теперь db 30% меньше ...

Что еще я могу сделать для повышения производительности? - я теперь перестраивают индексы каждую ночь

  • Я думаю, нет «недостающих индексов», а также первичные ключи, по крайней мере, «ОК»
  • Файловая система представляет собой быстрый 10 набег - и с 6 , 6 ГБ ОЗУ очень мало IO
  • Сервер VM VM с одним виртуальным процессором - здесь я думаю, это лучшая возможность: огромное количество небольших партий выиграет от фиктивного процессора с 4 ядрами ?!
  • Я также думаю о секционированных таблицах, но в тот момент, когда база данных недостаточно велика, чтобы извлечь из этого много пользы.

Итак - любые другие идеи?

+0

У вас есть проблема с EAV: бросить оборудование. Идите физически. – gbn

+0

Обновление: Теперь его база данных SQL 2008 с объемом около 40 ГБ. Это по-прежнему виртуальная машина, но теперь с 4 ядрами - но преимущество в том, что только несколько% В течение некоторого времени я помещаю свой файл журнала на ram-drive -> около + 30%, но очень рискованно ... Самое большое преимущество будет делать ssd, но корпоративный флеш-диск слишком дорог ... Заключительный я могу сказать: проблема в программном обеспечении, и я ничего не могу сделать против этого. –

ответ

1

Добавить центральный процессор, при тестировании. Я бы сказал, что вы, вероятно, столкнулись с проблемой здесь. Вообще - и я имею в виду действительно вообще - у меня никогда не было ни одного основного VMS. Даже самая маленькая машина имеет 2 ядра. Делает thigns намного быстрее даже на уровне Windows (операции ОС ahppen на втором ядре).

10gb сегодня крошечный. Тем не менее, нет никакого дерьмового программирования базы данных, которое не может убить (и, скорее всего, в вашем случае будет много дерьмового программирования, исходя из ваших объяснений). Начните полный анализ того, почему вещи ждут. Если они просто нажимают на сервер с большим количеством последовательных SQL для любой операции, единственное, что вы можете сделать, это убедиться, что (a) у вас есть как можно меньше ожиданий, и (b) у вас есть как можно более быстрый процессор. В sdatabase, как вы ее описываете, проблема серьезно связана с программой - и в основном есть только так много, что вы можете настроить на уровне базы данных.

1

Если у вас уже нет ваших данных и файлов журналов на отдельных дисках. Вы также можете переместить свой tempdb на собственный диск, а также разделить его на несколько файлов. Читайте часть Брента на данном TempDb здесь: Brent Ozar

+0

Спасибо за ответ: обычно это хорошо. Но все разные диски в этой точке VM окончательно доходят до того же рейда ... Так что, думаю, это не будет иметь большого значения. У меня мало информации о рейде, но я думаю, что это довольно быстро. –

1

Я предлагаю вам использовать сценарий Гленн Берри, чтобы определить проблемы на сервере:

https://dl.dropboxusercontent.com/u/13748067/SQL%20Server%202005%20Diagnostic%20Information%20Queries(September%202014).sql

Есть много еще потенциальных проблем, а не только отсутствующие индексы.

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

+0

Спасибо за этот скрипт, выглядит интересно. Этот сценарий также доступен для SQL Server 2008? Потому что в то же время мы обновили ... –

+0

Найди его! https://sqlserverperformance.wordpress.com/2014/04/18/sql-server-diagnostic-information-queries-for-april-2014/ –