Имя: Пароль:
1C
 
И все таки как победить конфлик блокировок на 1C8 SQL?
0 КВАДРО2
 
16.11.06
09:32
Читал читал архивы, и понял что SQL типа все должно работать без конфликтов блокировок (или по-крайней мере почти не видно), но факт остается фактом, у меня таки проблемы остаются. Около 25 пользователей, половина из них постоянно вносит документы, соотвественно возникает конфликт блокировок.
На сервере где стоит MS SQL и сервер приложений оперативки 1 Гиг, поставлю еще 1 Гиг на днях, но не думаю что это в корне изменит ситуацию.
Базы SQL каждую ночь индексируются.
Где можно еще подкрутить?
1 ТелепатБот
 
гуру
16.11.06
09:32
2 КВАДРО2
 
16.11.06
09:33
(1) Не попал
3 Мелкий бес
 
16.11.06
09:35
к решению проблемы продвигаться с двух противоположных направлений:
- побольше памяти, побыстрее дисковые массивы, разносить файлы SQL на разные массивы
- в профайлере (или хотя-бы в отладчике) смотреть где тормозит и оптимизировать код
4 masky
 
16.11.06
09:36
итак.. что для тебя конфликт блокировок?
конфу сервера(ов)  полностью. select @@version
5 КВАДРО2
 
16.11.06
09:39
(4) 1.Конфликт блокировок возникает когда к примеру операторы активно бьют реализацию товаров и услуг и при проведении документа уже никто в этот момент не может провести документ, что по кассе, что по банку, отчет производства за смену, ну т.е. возникают частые ситуации такие.
2. Все-таки от железа все идет?
6 КВАДРО2
 
16.11.06
09:40
(3) Что такое профайлер?
7 Neco
 
16.11.06
09:41
(6) Утилитка такая MS SQL Server Profiler
8 masky
 
16.11.06
09:41
(0) это DeadLock или народ просто висит на блокировках и ждет их снятия?
9 masky
 
16.11.06
09:42
в предпоследний раз прошу конфу сервера полностью, и результаты select @@version
10 КВАДРО2
 
16.11.06
09:44
(8) Ну раз нажали кнопку проведения, вышел конфликт блокировок, 2-3минуты подождали, нажади вновь документ провелся
11 masky
 
16.11.06
09:45
(10) Your transaction (process ID #52) was deadlocked on {lock | communication buffer | thread} resources with another process and has been chosen as the deadlock victim. Rerun your transaction.

такое сообщение выскакивает?
12 КВАДРО2
 
16.11.06
09:47
(11) Щас попробую сэмулирровать конфликт блокировок
13 Neco
 
16.11.06
09:47
На ИТСе статья "Влияние взаимных блокировок на работу прикладного решения"
14 КВАДРО2
 
16.11.06
09:48
(11) Результат select @@version
MS SQL server 2000 - 8.00.760 (INTEL x86) - DEC 17 2002
15 Мелкий бес
 
16.11.06
10:00
возможно сервер остался еще с 7.7
сервера с 1х2.0, 1ГБ, дисками SATA для сервера 1С и SQL явно мало для 25 пользователей
16 Scooter
 
16.11.06
10:01
(0)а что сервер 1С и СКЛ физически на одной машине?
17 Ланкастер
 
16.11.06
10:08
Сам в свое долго разбирался с этими блокировками. Вплоть до того, что написал простейшую конфигурацию с простейшими же документами по товарам, кассе и банку и соответсвующими регистрами. Ставил задержки в документах и смотрел за блокировками. В большей степени вероятность блокировок зависит от структуры регистров, оптимальной выборки из них(запрос блокирует в транзакции все, что прочитал, а не то, что вернул), продолжительности транзакционных действий. Выводы:
1) Правильно проектировать регистры и индексировать измерения.
2) Читать запросом только то, что надо.
3) В максимальной степени сокращать время транзакций, вынося за их рамки все, что только можно.
18 masky
 
16.11.06
10:13
(14) результат должен быть несколько больше.. давай ВЕСЬ!
19 masky
 
16.11.06
10:19
>запрос блокирует в транзакции все, что прочитал, а не то, что вернул
это не так..
20 Ланкастер
 
16.11.06
12:28
(19) Книга: "Проф. разработка в среде 1с 8" стр 718, глава: Производительность прикладного решения. Там так сказано совершенно четко.