|
кто из пользователей томозит работу 1С | ☑ | ||
|---|---|---|---|---|
|
0
Новичок
18.03.09
✎
14:21
|
Здравствуйте. такая проблема:
пользователи время от времени выполняют групповое проведение документов или формируют большой отчет, соответственно 1 с тормозит. При этом когда начинаешь звонить и узнавать, кто это делает, ни кто не сознается. Так вот как узнать кто из пользователей пакостит. Стоит 1С и SQL Server 2000 работают без терминала |
|||
|
1
ТелепатБот
гуру
18.03.09
✎
14:21
|
||||
|
2
bvn13
18.03.09
✎
14:23
|
В SQL Enterprise Manager сеансы не подвисают?
|
|||
|
3
ДенисЧ
18.03.09
✎
14:24
|
Выявляешь все такие тяжёлые моменты и делаешь
ЗаписьЖурналаРегистрации("Пользователь ХХХ начал тормозить систему задачей УУУ"); ЗаписьЖурналаРегистрации("Пользователь ХХХ закончил тормозить систему задачей УУУ"); |
|||
|
4
XMMS
18.03.09
✎
14:25
|
Это конечно несколько не правильно(полагаю), но я лез в Enterprise Manager SQL сервера, в раздел Management - Current activity - Process Info, и смотрел там на какие-то значения(вот только черт его знает, какие. Status точно, плюс ещё что-то).
|
|||
|
5
Новичок
18.03.09
✎
14:31
|
Нет, сеансы не висят. По поводу ЗаписьЖурналаРегистрации("Пользователь ХХХ начал тормозить систему задачей УУУ") сделать можно, вот только таких задач слишком много. Enterprise Manager SQL сервера смотрел, все пользователи занимают примерно одинаково памяти и процессорного времени колонка помоему "CPU"
|
|||
|
6
ildus
18.03.09
✎
17:38
|
(0) пользвователи не виноваты, они просто делают свою работу, виноват - Админ
|
|||
|
7
Новичок
19.03.09
✎
06:16
|
Спасибо. попробую решать проблему совместно с админом
|
|||
|
8
VladZ
19.03.09
✎
07:13
|
(0) Можно на SQL выполнить запрос
SELECT spid,program_name, hostprocess,hostname, loginame, blocked FROM sysprocesses По hostname определяешь имя тачки, которая блокируют работу остальных. |
|||
|
9
Скользящий
19.03.09
✎
07:41
|
В принципе, тоже проблема актуальна. Есть ли какие то готовые решения, или надо с бубном плясать вокруг скуля? У меня тоже самое, что и у автора, плюс еще терминал.
|
|||
|
10
DrZombi
гуру
19.03.09
✎
07:49
|
(0,7) Если скуль, то обрати внимания на самые трудоемкие запросы, которые используют большой интервал движений или документов.
Так же просмотри сами запросы, как SQL так и на 1С "системе". И помни если в прямом запросе стоит (NOLOCK), то это означает, что пока выполняется запрос, то в нее никто нечего не запишет! Так же если нет команды (NOLOCK), то пока выполняется запрос, то никто ничего не прочитает и не запишет, т.е. захват в 1С выполняется для всей таблицы :(... Еще есть легенда, что запросы на языку 1С - тоже подвисают базу, но сей факт я пока не проверил :) |
|||
|
11
DrZombi
гуру
19.03.09
✎
07:50
|
+(0,7,10) Речь идет про таблицы и метаданные - "Документ, справочники, движения и т.д." :)
|
|||
|
12
Mikeware
19.03.09
✎
08:03
|
(10) Мой тебе совет - не говори глупостей.
|
|||
|
13
Скользящий
19.03.09
✎
08:05
|
Есть ли надежный способ, на сервере увидеть, кто из пользователей сильнее всех загружает систему, чтобы можно было потом подключиться к нему, и вычислить чем он там балуется?
|
|||
|
14
orefkov
19.03.09
✎
08:08
|
Выставь всем время ожидания захвата таблиц в 1 секунду, полегчает.
|
|||
|
15
Sadovnikov
19.03.09
✎
08:09
|
А, может, не пытаться выяснить кто чего запустил, а сделать так, что бы просто все быстро работало?
|
|||
|
16
Скользящий
19.03.09
✎
08:11
|
(15) Логично. Для этого надо найти узкие места по факту.
|
|||
|
17
Sadovnikov
19.03.09
✎
08:12
|
(16) Согласен. Завести отдельную таблицу и пихать в нее "Начали чего-то", "Закончили чего-то". А потом проанализировать. Кстати, это посоветовали еще в (3).
|
|||
|
18
Sadovnikov
19.03.09
✎
08:13
|
+(17) Тоесть, свести задачу не к тому Кто тормозит, а Что тормозит
|
|||
|
19
Mikeware
19.03.09
✎
08:15
|
(13) Есть. Смотри блокировки методом (8). Или счетчики процессов -
select str(spid,4) as [Соединение], u.user_1c as [Пользователь1С], left(loginame,20) as [Логин], left(hostname,25) as [Компьютер], str(blocked,4) as [Заблокирован], str(max(waittime),15) as [Время] , str(sum(cpu),15) as [ЦПУ], str(sum(memusage),15) as [Память] from master..sysprocesses full join adm..users u on spid=u.pid where blocked<>0 group by str(spid,4),left(loginame,20), left(hostname,25), str(blocked,4), u.user_1c |
|||
|
20
Mikeware
19.03.09
✎
08:16
|
(19) Точнее, без дополнительеной таблицы -
select str(spid,4) as [Соединение], left(loginame,20) as [Логин], left(hostname,25) as [Компьютер], str(blocked,4) as [Заблокирован], str(max(waittime),15) as [Время] , str(sum(cpu),15) as [ЦПУ], str(sum(memusage),15) as [Память] from master..sysprocesses where blocked<>0 group by str(spid,4),left(loginame,20), left(hostname,25), str(blocked,4) |
|||
|
21
Mikeware
19.03.09
✎
08:18
|
Кстати, потестил сервер скриптом от VDE69 - по результатам уменьшил степент паралеллизма. Полегчало значительно
|
|||
|
22
orefkov
19.03.09
✎
08:19
|
(17)
Именно! А отлавливать одного юзера - зачем? Ведь возможна ситуация - допустим проведение РН и отчет по партиям по отдельности не тормозят, а когда запущены одновременно - попа. |
|||
|
23
MMF
19.03.09
✎
09:58
|
а еще можно обратиться в Softpoint и приобрести комплекс наблюдения за производительностью. И потом будете знать какой юзер, какой модуль/строка 1С и соответствующий ему запрос насколько загрузили сервер, кто создал блокировку и т.п.
|
|||
|
24
Обработка
19.03.09
✎
10:20
|
Я не стал с журналом регистации париться потом еще фильтовать там весь мусор. 1. Придумал спроавочник.
2. Везде прописал при проведении доков и запуска отчетов реистрацию в этом справочнике 3. Потом по тормозам выявил какие узкие места документ отчет итп. 4.за одно узнал чтатистику каке отчет чаще юзают. Какой док часто перепроводиться задним числом итп Ну потом просто отключил регистрацию или даже замочио справчоник кажись |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |