Modber Сообщество
профессионалов по 1С

Улучшения производительности 1С+SQL

  
Сообщений: 1

0
Здравствуйте. Помогите разобраться с некоторыми непонятными мне моментами, дабы разобраться как двигаться дальше.
И так имеется:
1. Сервер: два камня по четыре ядра (E5620), рейд десять на четырех винтах. Разбит рейт на два логических диска. На одном база, а на другом сама система.
2. 1С 8.2.15.294+MSSQL2008, работают пользователи по RDP, сам же RDP был настроен на другом сервере.
3. Размет базы 120гб (увеличивается примерно на 800-900 метров в день), примерное количество пользователей 80.

В чем собственно вся соль:
Начали вылазить блокировки транзакций.

Устроил регламентные задачи: еженощно происходит реиндексация представлений(таблиц) и обновление статистики так же один раз в неделю происходит ребилд индексов. Помогало это до тех пор пока эти задачки успевали выполняться за ночь. Сейчас же времени на выполнение отведенных им не хватает потому как производиться в довершение всего еще и бэкап.

Начальник разрешил установить новый сервер — бюджет около 450.

Подскажите пожалуйста:
1) Сервер с какими параметрами мне понадобиться и сколько рейдов там должно быть?
2) Имеет ли смысл брать твердотельные накопители. Ежели да, для каких целей?
3) каким образом можно оптимально распространить файлы по рейдам?
4) Как настроить 1С,SQL,Windows, дабы всё было в порядке?
Мне от вас нужно всего навсего перечисления нужных действий, а со всем остальным разберусь самостоятельно.
МедальГрамота
Сообщений: 199

+5
Добрый день!
Если купите еще один сервер то лучше разделите так, чтобы 1C крутилась на одном сервере MS SQL на втором, и индексные файлы и темпдб тоже отделите на свой диск от самой мздб базы. Какой брать тут Вам естественно самому понятна чем характеристики больше тем дороже, особое внимание уделите дисковой подсистеме, так как в основном все на ней падает производительность, о ней Вы и упомянули ssd могут помочь. Ну и правильно вы сказали обновление статистик ребилд индексов и реиндексацию таблиц делать по установленному плану.
Грамота
Сообщений: 83

0
Из моего опыта
1) проверьте фрагментацию файлов базы
2) размер логов базы и их сжатие
3) размеры таблиц базы.
3.1) Очень часто бывает, что из-за некорректно закрытых движений в таблицах накапливаются "Технологические" остатки, кочующие из месяца в месяц. Забыли закрыть заказ в начале 2013 года? Получайте по каждой строке заказа минимум одну строку в таблице остатков
3.2) бывает, что пользователи пишут в базу большие файлы (сканы, прайсы), что не делает базу "стройнее", хотя и меньше влияет на производительность


Из более-менее свежих рекомендаций 1С по настройке сервера SQL
1) таблицу tempdb разбить на несколько файлов и каждый из них разместить на отдельном диске (если их у вас ФИЗИЧЕСКИ несколько)
2) разделение серверов SQL и 1С после выхода MS SQL Server 2012 менее актуально из-за новой опции по рабте с памятью (кажется «Native Client» зовется).

Это без изысков.
А так, стоит "копать" в сторону анализа запросов SQL, выполняемых сервером. Бывает, что разгадка "тормозов" кроется в самом необычном месте.
Грамота
Сообщений: 156

+2
Добрый день!
Индексы и файлы данных таблиц лучше держать на отдельных дисках, существенно возрастет скорость ввода\вывода.
SSD конечно супер вещь, также существенно возрастет скорость ввода\вывода.
Под каждую задачу лучше брать отдельный сервак, 1С — сервер, MSSQL — сервер и т.д.
Для рейда лучше остановиться на обычной нулевке, при условии, что база бэкапируется, т.к. зеркалирование существенно повышает время ввода\вывода.
Копайте в строну SQL запросов, если у вас всего 80 пользователей значит они некорректные и блокируют друг друга.
Запомните индексы не панацея, часто они приносят гораздо больше вреда чем пользы, посмотрите статистику использования индексов может они у в вас вообще не используются.
В начало страницы 
|
Перейти на форум: