Я работаю здесь, в небольшой компании и одна из моих работ является введение системы ERP «AXAVIA» (www.axavia.com)настройки производительности системы ERP называется axavia
Есть клиенты .NET и базу данных MSSQL Server 2005 размером около 10 ГБ. Система работает с моделью метаданных, это означает, что у них очень мало таблиц (по одному для каждого типа данных, а некоторые для отношений), и эти данные вычисляются с помощью adhoc-запросов. До 2000 партий/сек ...
Я думаю, что они действительно не специалисты по базам данных, потому что ничего не знали о фрагментации индекса, и я все же удалил много неиспользуемых индексов - теперь db 30% меньше ...
Что еще я могу сделать для повышения производительности? - я теперь перестраивают индексы каждую ночь
- Я думаю, нет «недостающих индексов», а также первичные ключи, по крайней мере, «ОК»
- Файловая система представляет собой быстрый 10 набег - и с 6 , 6 ГБ ОЗУ очень мало IO
- Сервер VM VM с одним виртуальным процессором - здесь я думаю, это лучшая возможность: огромное количество небольших партий выиграет от фиктивного процессора с 4 ядрами ?!
- Я также думаю о секционированных таблицах, но в тот момент, когда база данных недостаточно велика, чтобы извлечь из этого много пользы.
Итак - любые другие идеи?
У вас есть проблема с EAV: бросить оборудование. Идите физически. – gbn
Обновление: Теперь его база данных SQL 2008 с объемом около 40 ГБ. Это по-прежнему виртуальная машина, но теперь с 4 ядрами - но преимущество в том, что только несколько% В течение некоторого времени я помещаю свой файл журнала на ram-drive -> около + 30%, но очень рискованно ... Самое большое преимущество будет делать ssd, но корпоративный флеш-диск слишком дорог ... Заключительный я могу сказать: проблема в программном обеспечении, и я ничего не могу сделать против этого. –