SQL server 2005. Многопоточность. #443121


#0 by Lama12
Стокнулся с проблемой. Есть sql server 2005. 2 Гб выделено для работы, 4 ядра процессоров. В центральной базе (распределенка) восстанавливал последовательность. Обменом информация пошла в периферийки. В периферийках данные грузятся очень долго (что не удевительно), но в одной не загружаются вообще. Судя по логам идут блокировки. Все усугубилось тем, что отключили питание в момент фиксации транзакции. В общем завтра восстанавливаем базу, но хотелось бы узнать какие настройки должны быть у сервера что бы отключить многозадачность, дабы избежать блокировок. Тут текущие настройки Знаю подобная тема поднималась, но там про 2000 было написано.
#1 by ТелепатБот
#2 by Wehrmacht
А 2000-й в плане прикладной настройки настолько сильно отличается от 2005-го?
#3 by dk
ну и поставь макс. число потоков в 1
#4 by Lama12
В предыдущей теме было написано что в 2005 таких проблем быть не должно.
#5 by Lama12
Хм... а процессоры и I/O не трогать?
#6 by dk
про маски не в курсе
#7 by Wehrmacht
Ну если в 2005-м не должно быть подобных проблем, то зачем пытаться их решить? Может лучше поискать причину где-нибудь в другом месте?
#8 by Lama12
Не должно быть, это не значит что их быть не может.
#9 by Demiurg
на вопрос: какие настройки должны быть у сервера что бы отключить многозадачность, дабы избежать блокировок ПРАВИЛЬНЫЙ ОТВЕТ: отключение многозадачности может изменить условия возникновения блокировки, но не позволит избежать их, так как - это механизм контроля целостности данных и он нужен объективно в рамках транзакционной модели субд учим матчасть
#10 by Demiurg
хочешь улучшить ситуацию с блокировками - правь код не можешь сам - найми специалиста
#11 by MikleV
uv
#12 by MikleV
если не ошибаюсь, изменение условий как раз снизит вероятность возникновения, не так?=)
#13 by Demiurg
без контекста, который автор скорее всего не сможет воспроизвести, на сколько сильно можно уменьшить - можно гадать но моя практика подсказывает, что ищет он не там, а надо: улучшать код (управляемые блокировки, снижение избыточных блокировок, уменьшать пересекаемость данных и т.п.); улучшать железо; выполнять регламентные процедуры; корректировать логику обменов (бить на более мелкие транзакции) и т.п. решить все сложные проблемы одной галалочкой, ну-ну
#14 by Demiurg
из совсем тупого для сиквела можно это сделать
#15 by Lama12
Править код - нет возможности. Блокировки при загрузке файла обмена в периферийной базе. В настройках стоит значение выполнять в транзакции по 250 элементов, но судя по журналу регистрации всеравно выполняется длинная транзакция.
#16 by Demiurg
грузите ночью монопольно
#17 by Steelvan
Не надо путать холодное с зеленым. В данном случае это количество потоков OS Windows для процесса sqlserver. Видел это творение и раньше и как раз хотел спросить, а зачем по вашему Microsoft по умолчанию делает на серверных OS длинные кванты. (Что такое квант и ответ на этот вопрос можно найти в трудах Руссиновича).
#18 by Steelvan
Если вы знаете ответ на этот вопрос и уверены в том что делаете, то извиняюсь, в противном случае очень рекомендовал бы Вам узнать что такое длина кванта и на что она влияет. В данном случае вы делаете настройку идеальную для клиентского компа с множеством важных процессов одного приоритета.
#19 by Steelvan
А вообще, нужно как минимум проанализировать состояния потоков и контекстные переключения до и после изменения длины кванта.
#20 by Demiurg
>>>Видел это творение и раньше и как раз хотел спросить, а зачем по вашему Microsoft отвечаю - ты на практике попробуй и посмотри будет ли результат для сильнозагруженных (>80%) субд а теорию сам потом под это подгонишь
#21 by Steelvan
Я не работаю по правилу - сделаю, а там посмотрим :) > 80 % нагрузка на CPU ?
#22 by Demiurg
да, прошу прощения за неточность, конечно % загруженности процессоров
#23 by Steelvan
Если это помогло, 99.9 % что на фоне что-то сильно грузило проц (DPC, Interrupts)
#24 by Demiurg
на последних 6 проектах помогло для MS SQL Server 2005 и 2008 под винду 2003 с ядрами 8-16 штук че там грузило это другой вопрос, но важно что только сккуль под 1С
#25 by Steelvan
Если не секрет (я все равно в другом городе) как сейчас с проектами ? :)
#26 by Demiurg
работы, которые ни кто не хочет делать всегда много
#27 by Steelvan
Можно было попробовать увеличить приоритет процесса sqlserver.
#28 by Steelvan
Хотя бы до 13 - 16 и посмотреть.
#29 by Demiurg
одного не пойму, ты хочешь расказать мне про галочки, какие надо ставить я в теории не верю, стараюсь писать только провернное практикой возьми у себя проделай, а потом напиши статью, а флудить не хочется
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С