|
v7: Не запускается plugin_terminal_sleep. | ☑ | ||
---|---|---|---|---|
0
maxnn
25.07.12
✎
14:20
|
Возникла неожиданно проблема с транзакциями и со 100% загрузкой процессора.
Поставил плагин plugin_terminal_sleep, всё сделал как сказано, пропатчил seven.dll, все файлы в своих каталогах. Но при запуске 1С возникает в трее всплавающее окно на 1 секунду "не установлен plugin_terminal_sleep" дальше запуск 1С продолжается. Помогите побороть проблему? А то контора работать щас не может. |
|||
1
ЧеловекДуши
25.07.12
✎
14:26
|
"Неудачник"
Сколько пользователей в БД? terminal_sleep - не рашает проблему с транзакциями, а только сглаживает этот угол :) Как у вас называется конфигурация? (Бух, ТиС, УСН, ЗиК) У вас БД - DBF или SQL? На каком именно документе все зависает? При каких условиях? В какой момент времени? У кого именно чаще всего? (пользователи) В общем собирай статистику, изучай 1С, исправляй "ГоуноКод", в 99% это все дело в нем :) |
|||
2
Fragster
гуру
25.07.12
✎
14:28
|
(1) не прав. на терминале с 4 ядрами и >4 активных юзеров без этого никак
|
|||
3
ЧеловекДуши
25.07.12
✎
14:28
|
(2)1С 7.7 использует всегда 1 Проц.
И это тоже решается установкой 64-битной Оси :) |
|||
4
maxnn
25.07.12
✎
14:29
|
У меня 27 релиз. В Плагине написано что нужно иметь 25 релиз? Не произойдёт ничего страшного если я релиз понижу платформы?
|
|||
5
ЧеловекДуши
25.07.12
✎
14:30
|
+(2)Если у автора DBF, то там вообще-то даже плагина не надо, чисто все в коде.
А если SQL, то бывает прямые запросы решают проблему + так же и могут усугубить. |
|||
6
ЧеловекДуши
25.07.12
✎
14:30
|
(4)На заборе тоже пишут, но ты же этому не следуешь?
|
|||
7
Fragster
гуру
25.07.12
✎
14:30
|
(3) прочитай еще раз (2)
|
|||
8
maxnn
25.07.12
✎
14:32
|
База ДБФ. Размер в пределах.
|
|||
9
maxnn
25.07.12
✎
14:33
|
Конфигурация Комплексная
|
|||
10
ЧеловекДуши
25.07.12
✎
14:33
|
(7)Не буду, зачем? У нас терминал, тоже мучились, но с нехваткой ресурсов.
Поставили 64-битную, воткнули побольше оперативки, все работает. Ну а коль так хочется не тормозить, то переходите на 8-ку, она это умеет :) |
|||
11
maxnn
25.07.12
✎
14:38
|
Народ! Нужно срочно найти решение.
На сервере 2003 винда 64 битная. 12 гигов оперативы и 4-рёх ядерный проц. До этого проблем таких не было. База комплексная. 50 пользователей. ДБФ. Самый большой файл 1.3 гига. Количество записей в каждом ДБФ не превышает и 10 млн. Проблема втом, что при создании документа выходит ошибка: конт. установить новый номер(префикс) глобальный номер( 16479): таблица 1sjourn ошибка обращения к данным при транзакции выполняемым другим пользователем. при этом процессор на 100% загружен 7-10 пользователями. У них по 10% гдето на каждого нагрузка идёт. |
|||
12
maxnn
25.07.12
✎
14:38
|
Поставил плагин plugin_terminal_sleep, всё сделал как сказано, пропатчил seven.dll, все файлы в своих каталогах.
Но при запуске 1С возникает в трее всплавающее окно на 1 секунду "не установлен plugin_terminal_sleep" дальше запуск 1С продолжается. Помогите побороть проблему? А то контора работать щас не может. |
|||
13
maxnn
25.07.12
✎
14:39
|
Щас нужно именно поставить этот plugin_terminal_sleep
|
|||
14
ЧеловекДуши
25.07.12
✎
14:39
|
(8)Тогда что ты мозг, волнуешь, вставь в глобальник вот этот кусок коду:
Попытка ПаузаПоТранзакции=Число(Константа.ПаузаПоТранзакции); vk_sleep=СоздатьОбъект("Addin.vk_sleep_1C"); vk_sleep.УстановитьПаузуПриБлокировке(?(ПаузаПоТранзакции<=0,1024,?(ПаузаПоТранзакции=999999999,0,ПаузаПоТранзакции)), "7.7"); //1024 vk_sleep.ПоказыватьВсплывающиеПодсказки=0; //если=1, то показывает balloon tooltips в трее при блокировке. //значение 0 отключает показ "баллонов" //Имя сигнального файла (если пусто, то при блокировках не создается) //Полезно для обработок проведения vk_sleep.ИмяФайла=КаталогИБ()+"_LockSlpTR.txt"; ////делает паузу на указанное число мс (полезно для обработок проведения) //vk_sleep.sleep(100); ////Установка приоритетов (использовать не обязательно) ////Позволяет установить приоритет процесса 1С //vk_sleep.ПриоритетПроцесса("NORMAL_PRIORITY_CLASS"); ////IDLE_PRIORITY_CLASS ////NORMAL_PRIORITY_CLASS ////HIGH_PRIORITY_CLASS ////REALTIME_PRIORITY_CLASS ////Позволяет установить приоритет потока 1С //vk_sleep.ПриоритетПотока("THREAD_PRIORITY_NORMAL"); ////THREAD_PRIORITY_IDLE ////THREAD_PRIORITY_LOWEST ////THREAD_PRIORITY_BELOW_NORMAL ////THREAD_PRIORITY_NORMAL ////THREAD_PRIORITY_ABOVE_NORMAL ////THREAD_PRIORITY_HIGHEST ////THREAD_PRIORITY_TIME_CRITICAL Исключение Сообщить("Не удается создать объект AddIn.vk_sleep_1C... !!!"); vk_sleep=0; КонецПопытки; Нужна только библиотека: vk_sleep_1C.dll от 17 мая 2006 г., 17:04:54 ( у меня такая) |
|||
15
ЧеловекДуши
25.07.12
✎
14:40
|
(13)Вертай все обратно, я надеюсь ты архив файла сделал? :)
|
|||
16
maxnn
25.07.12
✎
14:41
|
(15) какого файла? seven? Он есть забекапленый.
|
|||
17
maxnn
25.07.12
✎
14:41
|
(14) Только я нихрена не программист, сам не вставлю код. Можно без этого обойтись?
|
|||
18
ЧеловекДуши
25.07.12
✎
14:42
|
(16)Да.
Патчить нужно только для SQL версии :) |
|||
19
ЧеловекДуши
25.07.12
✎
14:44
|
(17)Тогда страдай.
Код надо вставить в конец функции "ПриНачалеРаботыСистемы()" Если точней, то вот такой: ЗагрузитьВнешнююКомпоненту(""+КаталогИБ()+"vk_sleep_1C.dll"); Попытка ПаузаПоТранзакции=Число(Константа.ПаузаПоТранзакции); vk_sleep=СоздатьОбъект("Addin.vk_sleep_1C"); vk_sleep.УстановитьПаузуПриБлокировке(?(ПаузаПоТранзакции<=0,1024,?(ПаузаПоТранзакции=999999999,0,ПаузаПоТранзакции)), "7.7"); //1024 vk_sleep.ПоказыватьВсплывающиеПодсказки=0; //если=1, то показывает balloon tooltips в трее при блокировке. //значение 0 отключает показ "баллонов" //Имя сигнального файла (если пусто, то при блокировках не создается) //Полезно для обработок проведения vk_sleep.ИмяФайла=КаталогИБ()+"_LockSlpTR.txt"; Исключение Сообщить("Не удается создать объект AddIn.vk_sleep_1C... !!!"); vk_sleep=0; КонецПопытки; Зайти один раз в БД под админом, т.е. под тобой и усе. |
|||
20
maxnn
25.07.12
✎
14:44
|
(19) У меня Длл от 17 августа 2007 года... Сможешь скинуть свою версию?
|
|||
21
ЧеловекДуши
25.07.12
✎
14:45
|
+ Константа.ПаузаПоТранзакции - Это константа, замени на 1024, просто через константу проще манипулировать паузами :)
|
|||
22
ЧеловекДуши
25.07.12
✎
14:45
|
(20)Думаешь у тебя хуже ? :)
Сейчас. |
|||
23
maxnn
25.07.12
✎
14:46
|
у меня он ещё называется plugin_terminal_sleep.dll
А ДЛЛ куда кидать? в Bin? |
|||
24
ЧеловекДуши
25.07.12
✎
14:47
|
||||
25
ЧеловекДуши
25.07.12
✎
14:47
|
(23)>>>А ДЛЛ куда кидать? в Bin?
В каталог БД (БД - база данных) |
|||
26
maxnn
25.07.12
✎
14:50
|
(25) Кроме этого ДЛЛ больше ничего не нужно?
И где эта константа(21) "+ Константа.ПаузаПоТранзакции - Это константа, замени на 1024, просто через константу проще манипулировать паузами :)" |
|||
27
ЧеловекДуши
25.07.12
✎
14:51
|
(26)Я добавил, руками через конфигуратор :)
1024 - вроде секунда или около того. |
|||
28
maxnn
25.07.12
✎
14:54
|
(27) ТОесть я открываю конфигуратор. Главный модуль. Ищу там функцию "ПриНачалеРаботыСистемы()" В конце вставляю твой код из (19).
Подскажи, где тогда и как мне добавть эту константу. |
|||
29
ЧеловекДуши
25.07.12
✎
15:57
|
(28)Так и называется "Константы", там еще есть "Справочники", но тебе нужны "Константы"
Встаешь на это наименование и нажимаешь кнопку "+" ,т.е. добавить. И Называешь её "ПаузаПоТранзакции", и Тип указываешь ей "Число", Длина 10, точность 0. В общем, трудно ошибиться. Даже если константа будет "Документы", то все ровно по алгоритму будет стоять число "1024". Бекапы не забудь сделать |
|||
30
maxnn
25.07.12
✎
19:45
|
(29) Спасибо за советы. Сегодня вечером сделаю.
А можешь ещё подсказать как проверить работу данной модификации. Как сымитировать проблему с захватом таблицы? А то не хочется узнать что что-то сделал не так, когда народ начнёт работать. |
|||
31
maxnn
25.07.12
✎
22:13
|
(29) Я константу добавил, а где значение ей присвоить?
|
|||
32
Fragster
гуру
25.07.12
✎
22:14
|
обработка проведения и Предупреждение в ней
|
|||
33
maxnn
25.07.12
✎
22:15
|
(32) Всмысле? Расшифруй для тупых...
|
|||
37
ЧеловекДуши
26.07.12
✎
08:25
|
(31)В Пользовательском режиме жимкаешь меню "Операции" -> "Константы..."
Находишь свою константу и проставляешь там 1024. Можно больше, но смысла нет. Что бы увидеть, порой бывает достаточно перестать слышать. Слышать звонки от пользователей. Или хотя бы сократить их уровень интенсивности. |
|||
38
ЧеловекДуши
26.07.12
✎
08:30
|
+ Для визуализации транзакции, читай коменты в коде
vk_sleep.ПоказыватьВсплывающиеПодсказки=0; //если=1, то показывает balloon tooltips в трее при блокировке. т.е. если проставить вместо нуля, Один, то пользователей будут пугать транзакционными окнами. В свое время я тоже этим баловался, но решил отключить, ибо пользователи начали пугаться и судорожно звонить. Напоминает с ситуацию с Антивирусниками, когда пользователь видит сообщения об вирусе, то он не понимает, что это как раз и хорошо. А вот если антивирусник нечего не пишет, то тут и скрывается опасность. |
|||
39
ЧеловекДуши
26.07.12
✎
08:30
|
+ >>> пользователей будут пугать транзакционными окнами.
Окнами в трее, меня немного оно всегда раздражало :) |
|||
40
maxnn
26.07.12
✎
12:24
|
(38) После внедрения вроде получше стало. Так как первое зависание только в 12 часов дня произошло.
Выходят ошибки о транзакции при выполнении ьранзакции произошла ошибка! Таблица: 1sjourn ошибка обращения к данным при транзакции выполняемым другим пользователем. при выполнении ьранзакции произошла ошибка! Таблица: 1sdnlock ошибка обращения к данным при транзакции выполняемым другим пользователем. При этом процессор загружен на 100%. В диспетчере задач видно что человек 7 с загрузкой процессора каждый по 10-13%. Сервер сам подвисает серьёзно. Через 2-3 минуты всё отвисает и 1С опять летает. Без намёков на тормоза. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |