powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / 8.1 ПолучитьСоединенияИнформационнойБазы()
25 сообщений из 42, страница 1 из 2
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36612475
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при старте системы выполняется код
Код: plaintext
1.
2.
3.
4.
5.
	Для Каждого Соединение из ПолучитьСоединенияИнформационнойБазы() Цикл
		Если Соединение.Пользователь.УникальныйИдентификатор = ПользовательИБ.УникальныйИдентификатор Тогда
			й = й +  1 ;
		КонецЕсли			
	КонецЦикла;
и вот это ПолучитьСоединенияИнформационнойБазы() очень дико тормозит работу системы (пользователей 300+).
Можно ли каким-то более кошерным способом получить список активных пользователей системы?


с ув. наутилус
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36612694
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотреть не только на количество времени, но и на количество вызовов и избавиться от повторного вызова этого метода внутри цикла по пользователям ИБ. Угадал?
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36612943
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
ЗапретитьОткрытиеНесколькихСеансов = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ЗапретитьОткрытиеНесколькихСеансов");
	Если ЗапретитьОткрытиеНесколькихСеансов Тогда
		ТекущийНомерСоединения = НомерСоединенияИнформационнойБазы();
		УникальныйИдентификаторПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
		
		МассивСоединений = ПолучитьСоединенияИнформационнойБазы();
		Для Каждого ТекСоединение Из МассивСоединений Цикл
			Если (ТекСоединение.ИмяПриложения = "1CV8") 
			   И (НЕ ТекСоединение.НомерСоединения = ТекущийНомерСоединения)
			   И (НЕ ТекСоединение.Пользователь = неопределено)
			   И (ТекСоединение.Пользователь.УникальныйИдентификатор = УникальныйИдентификаторПользователя) Тогда
			  
				Предупреждение("Пользователем с таким именем уже выполнен вход в систему");
				ЗавершитьРаботуСистемы(Ложь);
				Возврат;
				
			КонецЕсли;
		КонецЦикла;	
	КонецЕсли;
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613053
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDP,

нет
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613063
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leaf,

большое спасибо, за код. Вы поняли, что я хотел. но в том вся и проблема, что у нас при выполнении
Код: plaintext
МассивСоединений = ПолучитьСоединенияИнформационнойБазы();
это выполняется порядка 2-3 минут

но то что, я каждый раз в цикле считал ПолучитьСоединенияИнформационнойБазы() єто я конечно тупонул =((
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613210
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 наутилус

Что-то я ничего не понял, если вы жалуетесь именно на ПолучитьСоединенияИнформационнойБазы(), то код leaf'а отработает с той же скоростью.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613380
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDP,

код leaf-а красивее моего решения + сразу показал мою ошибку (я не знаю как в 1С, но мне очень кажется, что в цикле я постоянно рассчитывал ПолучитьСоединенияИнформационнойБазы(), он же предварительно сохранял эти данные в переменную).

на счёт быстроты кода - к завтра проверю его решение. на живой базе в цикле поганяю его функцию.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613427
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наутилус,

ПолучитьСоединенияИнформационнойБазы() и в приведённом Вами куске кода и у leaf 'a выполняется по одному разу. Иначе бы у Вас "Каждый" каждый раз был бы первым из этого набора и цикл был бы фактически бесконечный.

По скорости код leaf 'a будет медленнее, т.к. в нем больше "точек" и сравнений. У Вас он выйгрывает только в части формирования переменной с уникальным идентификатором текущего пользователя.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613442
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDP,

возможно Вы и правы. буду думать.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613562
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
господа
это не мой код
это код УПП
разработчики не знают лучшего решения

- товарищь майор, собака след не взяла - попробуйте Вы
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36613974
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafгоспода
это не мой код
это код УПП
разработчики не знают лучшего решения

- товарищь майор, собака след не взяла - попробуйте ВыФи. Разработчики много чего не знают. И если посмотреть на проблему типичных больших систем - то НИКОГДА там не будет нормального кода. Особенно в УПП.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614004
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,

Ваше решение этого вопроса?
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614017
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не скажу. Но если 300 пользователей - то сам бог велел изворачиваться как угодно. Как вариант - через терминал сделать чтобы строго к своему 1 окну подключался и никуда более . Тогда и код не потребуется.

Вариант второй - регламентнfя операция - допустим каждые 10 минут - выискивает задвои и выкидывает. (Тут же письмо - мол такая та сволочь зашла 2 раза )


ps А ключ то у вас на сколько пользователей?
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614019
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Третий вариант kb.1c.ru - там подскажут по производительности. Завтра спрошу у человека ведущего курсы и группу по большим внедрениям.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614117
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сНе скажу. Но если 300 пользователей - то сам бог велел изворачиваться как угодно. Как вариант - через терминал сделать чтобы строго к своему 1 окну подключался и никуда более . Тогда и код не потребуется.
не вариант. многие конечно в терминале... но есть такие, которых и в локалке не нужно дважды пускать...

Программист 1сВариант второй - регламентнfя операция - допустим каждые 10 минут - выискивает задвои и выкидывает. (Тут же письмо - мол такая та сволочь зашла 2 раза )
пока так и сделали, но не кошерно

Программист 1сps А ключ то у вас на сколько пользователей?
"на провокационные вопросы не отвечаю".. ))).. а вообще не у нас, у заказчика... так что пусть у него об этом голова болит

Программист 1сТретий вариант kb.1c.ru - там подскажут по производительности. Завтра спрошу у человека ведущего курсы и группу по большим внедрениям.
если не сложно, буду дюже благодарен.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614480
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Не скажу

- но Вы то должны знать?
- я то знаю ... но не скажу
- и я знаю - но не скажу

кстати ... обработка которая включается каждые 10 минут ... в ней то код какой? )
и потом она наверное тоже кушает ... причем каждые 10 минут ... хоть и на сервере
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614638
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leaf,

+500 за юмор ))

обработка временная. хоть и кушает, но что делать?
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614653
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наутилус, у них база храниться в формате MS SQL?
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614800
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
обработка временная. хоть и кушает, но что делать?

Да ничего ... просто был случай ...
один товарищь написал подобную обработку для подкачки данных из ЗиК
ну и поставил 10 минут интервал
конечно там был прописан сетевой адресок ...
потом сеть упала следствие адресок стал другой ...
ну в общем эту штука начала так мозги выносить ...

пришел ваш покорный слуга ... потратил время ... сменил адресок ...
увеличил интервал запуска ... все стало почти летать ...
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614926
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDP,

да. есть мысли как-то обращаться напрямую к сиквелу, но что-то гложат меня сомнения, хранит ли 1С этот список на сиквеле?
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36614928
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leaf,

ну... прямыми руками тяжело только зубы чистить... остальное очень даже неплохо делать _прямыми_ руками.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36616111
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ обращайтесь в ближайший центр цкт(кто из франчей имеет этот статус) и показывайте ошибку. Скорее всего ошибка платформы.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36616308
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,

ошибки нет. просто тормоза...
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36616353
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне ответили - что тормозов быть не должно. Если есть - то милости на форум kb.1c.ru Рупасов Константин.

Ошибка - это то что тормозит. Мне ответили - что максимум секунду выполняется.
...
Рейтинг: 0 / 0
8.1 ПолучитьСоединенияИнформационнойБазы()
    #36616397
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,

ничего себе.... у нас от 5 до 15 сек... минимум (по ощущениям)... завтра тесты сделаю циклические.. замеряю, и зайду к вам...
спасибо за помощь
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / 8.1 ПолучитьСоединенияИнформационнойБазы()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]