|
|
|
Подвисание сервера приложений 1с 8.0.8.7 | ☑ | ||
|---|---|---|---|---|
|
0
ssh
29.09.04
✎
17:17
|
Ситуация: запускаем долгий отчет на клиенте. Пользователь не дожидается и снимает задачу. Сервер приложений при этом остается лопатить что-то, загружая процессор на 100%. Даже если "погасить" SQL-сервер, то сервер приложений все равно остается работать. Вопросы:
1. Как его снять, кроме перезагрузки сервера? Подключение клиента к серверу не снимается, т.к. выдается сообщение, что клиентский поток еще не завершен. 2. Это была модельная ситуация. Но в рабочем режиме есть более 20 пользователей. Загрузка процессора на сервере приложений все время 100%, есть подозрение, что это из-за подвисших процессов. Как определить, какие пользовательские подключения "висят" |
|||
|
1
F427
29.09.04
✎
19:58
|
Серьезно.... Надо учесть...
|
|||
|
2
Волшебник
29.09.04
✎
20:31
|
(1) В долгом отчете нужно в цикле вызывать ОбработкаПрерыванияПользователя. Если же отчет долгий из-за запроса, то нужно оптимизировать запрос. Приведи сюда запрос и результаты замера - на что тратится время.
Сервер 1С:Предприятия можно остановить через консоль управления сервером. Там же можно определить текущие пользовательские подключения. p.s. Сервер 1С:Предприятия не является сервером приложений. |
|||
|
3
Asmody
29.09.04
✎
20:50
|
(2) а чем он является?
|
|||
|
13
ssh
30.09.04
✎
13:03
|
2Волшебник
Хорошая мысль насчет прерывания. Учтем. Только у меня есть подозрения, что по клиента поток управления еще не дошел. SQL свои данные отдал, клиент их ждет, а они колбасятся на сервере 1С (навечно). Буду копать... Снять поток у меня так и не получилось. Я могу погасить сервер приложений целиком. Могу оборвать пользовательские подключения к SQL, могу снять клиентское приложение, но не могу снять клиентский поток с процесса сервера приложений. Средства самого сервера 1С не позволяют, т.к. он говорит, что выполняется клиентский поток и его нельзя закрыть. А как это делать средствами OS - я не знаю. P.S. Ну а чем тогда является сервер 1С? Правда, если исходить из его способности масштабироваться, то он точно не сервер приложений :). Он не только не масштабируется на несколько машин, но и не масштабируется на несколько процессоров, если тачка многопроцессорная. За последнее я не отвечаю, но чувство такое есть. Что я с ним только не делал, но он ест только 100% ресурсов одного процессора из 4-х (или что тоже самое 25% общей процессорной емкости). За эту планку он выходить не хочет. Смысл многопроцессорного сервера? |
|||
|
14
Волшебник
30.09.04
✎
13:06
|
(3) Сервером 1С:Предприятия. Дискуссия об этом уже была, можешь поискать.
(4) Это не хорошая мысль, а жизненная необходимость и правило хорошего тона. |
|||
|
15
ssh
30.09.04
✎
16:29
|
Источник проблемы найдет. Это использование конструкции:
Выборка = Запрос.Выполнить().Выбрать(); Переписали по-человечески и забыли про проблему. Всем спасибо. |
|||
|
16
Asmody
30.09.04
✎
17:03
|
(14) Ааа... писец: "Сервер 1С:Предприятия является сервером 1С:Предприятие" ну чтож, будем знать...
ЗЫ: после 3 сразу 13 - "кикибана в действии" >;)) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |