• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Вьюшка вешает пользователей

  • Автор темы LIGHT
  • Дата начала
L

LIGHT

Добрый день!

Имеется база 20000 документов, доступ к документам Read Access, вьюшка категоризирована, имеются сортировки, открывается довольно быстро 2-5 секунд.
Все нормально и хорошо. Но.
Когда другой юзер работает с этой базой, выполняет действие пересохранение документа, документ уходит в другую вьюшку и в это время все клиенты разом тоже начинают ломиться, т.е. видно что идет запрос к серверу, такое чувство что хочет обновить вьюшу пользователю, разумеется этого не происходит.
На кнопки пользователя Sava заглушил View.Refresh - не помогло. В свойствах вью поставил обновлять автоматом с интервалом в 1 час - не помогло.

Проблема особенно ощущается когда один пользователь пересохраняет, а другой юзер - открывает другой документ, возникают зависы на 10-15 секунд. Или же один сохраняет документ а другой работает в другой базе с другим документом, печатает, и сервак ломясь обновлять вью "стопорит" курсор пользователя, разумеется у второго база открыта.

Где можно подкрутить еще?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Какая формула отбора и в столбцах? Нигде @Today или @Now, или подобное не используется?
 
L

LIGHT

Вьюшка отбирается так:
SELECT Form = "Memo" & IconOk = ""
Остальное все берется из документа
Subject | DateCreate | From | To | @if(From = "X";"a";"b")

Еще в свойствах вью, второй таб (i) стоит On Refresh - Refresh Display как это может влиять?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Чтобы все варианты не перечислять, попробуй почитать здесь и здесь
 
L

LIGHT

Читал, там нет вариантов с подобной проблемой, вьюшка должна обновляться согласно установкам (если авто то 1 раз в 15 минут, если юер обновляет, для других это ни как не должно сказывать, если стоит что обновлять раз в 2 часа, значит так и должно быть. А нет зараза), это не действует!
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для 20000 документов в принципе не надо менять настройки индексирования. Это слишком мало и смотреть стоит на причину.
Может сервачок слабый. Сколько категорий, раскраска и т.д.

Или у тебя 50 ридерс-полей. :blink:
 
L

LIGHT

Поля ридерс 2
Сервачек монстр.
Раскраска есть, по признаку (1 признак). Она сильно вешает при всех прочих?

Больше всего бросается в глаза то, что в Show Users видно что все пользователи постоянно висят в этой базе т.е. время слипа = 0, потом 1, потом 2, потом хоп... опять все 0. А реально ситуация, что пользователи открыл базу и ушел на обед. Кто-то что-то в ней сделал, и все обновили сессию.

Также в базе ведется контроль, читал не читал, по сути это общий почтовый ящик где каждый видит только то, что адресовано ему. Знакомые с БОСС-Референтом знают ее как БД Кабинет.
 
L

LIGHT

Вот дебаг клиента который просто открыл базу данных, и подождал 2 минуты

debug_PW_2009_02_05@15_41_32.txt
(1-10 [1]) POLL_DEL_SEQNUM: (Connect to SERVER01/NAMES/DO/ORG: 0 ms) (OPEN_SESSION: 0 ms)
0 ms. [110+28=138]
(2-21 [2]) OPEN_DB(CN=SERVER01/OU=NAMES/OU=DO/O=ORG!!Engine\messages.nsf): (Connect to SERVER01/NAMES/DO/ORG: 0 ms) (Exch names: 0 ms)(Authenticate: 0 ms.)
(OPEN_SESSION: 16 ms)
0 ms. [134+290=424]
(3-21 [3]) GET_UNREAD_NOTE_TABLE: 0 ms. [290+10224=10514]
(4-21 [4]) OPEN_NOTE(REPC3257157:0027DE0E-NTFFFF0010,03000400): 0 ms. [48+3762=3810]
(5-21 [5]) OPEN_NOTE(REPC3257157:0027DE0E-NT00000172,08400000): 0 ms. [48+2808=2856]
(6-21 [6]) OPEN_NOTE(REPC3257157:0027DE0E-NT0000016A,02400114): 15 ms. [48+45016=45064]
(7-21 [7]) OPEN_NOTE(REPC3257157:0027DE0E-NT000001F6,00400000): 0 ms. [48+4258=4306]
(8-21 [8]) OPEN_COLLECTION(REPC3257157:0027DE0E-NT00000222,0040,0000): 0 ms. [130+62=192]
(9-21 [9]) GET_NOTE_INFO: 0 ms. [18+102=120]
(10-21 [10]) SET_COLLATION: 0 ms. [14+12=26]
(11-21 [11]) SET_COLLATION: 0 ms. [14+12=26]
(12-21 [12]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 0 ms. [76+13636=13712]
(13-21 [13]) OPEN_NOTE(REPC3257157:0027DE0E-NT00000216,00400000): 0 ms. [48+2420=2468]
(14-106 [14]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(15-106 [15]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+10340=10366]
(16-106 [16]) SET_COLLATION: 0 ms. [14+12=26]
(17-106 [17]) SET_COLLATION: 0 ms. [14+12=26]
(18-106 [18]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 16 ms. [120+13614=13734]
(19-106 [19]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)
(20-106 [20]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(21-106 [21]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)
(22-106 [22]) SET_COLLATION: 15 ms. [14+12=26]
(23-106 [23]) SET_COLLATION: 0 ms. [14+12=26]
(24-106 [24]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 32 ms. [130+13614=13744]

В общем видно что клиент два раза ломанулся к серверу абсолютно без причины.

Более подробный лог:
debug_W_2009_02_05@15_50_17.txt

Открываю клиент:

(1-3 [1]) POLL_DEL_SEQNUM: (Connect to MYSERVER/AAA/BBB/CCC: 0 ms) (OPEN_SESSION: 0 ms)
0 ms. [110+28=138]

Открываю базу данных:

(2-54 [2]) OPEN_DB(CN=MYSERVER/OU=AAA/OU=BBB/O=CCC!!Engine\messages.nsf): (Connect to MYSERVER/AAA/BBB/CCC: 15 ms) (Exch names: 0 ms)(Authenticate: 0 ms.)
(OPEN_SESSION: 0 ms)
0 ms. [134+290=424]
(3-54 [3]) GET_UNREAD_NOTE_TABLE: 0 ms. [290+10230=10520]
(4-54 [4]) OPEN_NOTE(REPC3257157:0027DE0E-NTFFFF0010,03000400): 0 ms. [48+3762=3810]
(5-54 [5]) OPEN_COLLECTION(REPC3257157:0027DE0E-NT00000222,0040,0000): 0 ms. [130+82=212]
(6-54 [6]) GET_NOTE_INFO: 0 ms. [18+102=120]
(7-54 [7]) SET_COLLATION: 0 ms. [14+12=26]
(8-54 [8]) SET_COLLATION: 0 ms. [14+12=26]
(9-54 [9]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 0 ms. [76+13772=13848]
(10-54 [10]) SET_COLLATION: 0 ms. [14+12=26]
(11-54 [11]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 0 ms. [76+12090=12166]

Просто нахожусь в базе:

Через 137 секунд:

(12-191 [12]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(13-191 [13]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+10238=10264]
(14-191 [14]) SET_COLLATION: 0 ms. [14+12=26]
(15-191 [15]) SET_COLLATION: 0 ms. [14+12=26]
(16-191 [16]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 16 ms. [164+13676=13840]
(17-191 [17]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)

Через 122 секунду:

(18-313 [18]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(19-313 [19]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+10354=10380]
(20-313 [20]) SET_COLLATION: 0 ms. [14+12=26]
(21-313 [21]) SET_COLLATION: 0 ms. [14+12=26]
(22-313 [22]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 15 ms. [134+13626=13760]
(23-313 [23]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)

Тут же:

(24-313 [24]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(25-313 [25]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)
(26-313 [26]) SET_COLLATION: 0 ms. [14+12=26]
(27-313 [27]) SET_COLLATION: 0 ms. [14+12=26]
(28-313 [28]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 0 ms. [130+13626=13756]

Через 63 секунды:

(29-375 [29]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(30-375 [30]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+10248=10274]
(31-375 [31]) SET_COLLATION: 0 ms. [14+12=26]
(32-375 [32]) SET_COLLATION: 0 ms. [14+12=26]
(33-375 [33]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 15 ms. [130+13342=13472]
(34-375 [34]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)

Через 60 секунд:

(35-436 [35]) UPDATE_COLLECTION(REPC3257157:0027DE0E-NT00000222): 0 ms. [24+12=36]
(36-436 [36]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+10252=10278]
(37-436 [37]) SET_COLLATION: 0 ms. [14+12=26]
(38-436 [38]) SET_COLLATION: 0 ms. [14+12=26]
(39-436 [39]) READ_ENTRIES(REPC3257157:0027DE0E-NT00000222): 15 ms. [130+13234=13364]
(40-436 [40]) GET_MODIFIED_NOTES(REPC3257157:0027DE0E): 0 ms. [26+24=50] (No documents have been modified since specified time.)
(41-527 [41])

Как лечить? У меня разумеется открывается быстро, т.к. полный доступ. У обычных пользователей все намного трагичнее, очевидно я нашел проблему тормозов на сервере, осталось понять где зеленкой помазать.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!