gifts2017

Запуск ЦУП на платформе 1С 8.3 (8.3.5.1098)

Опубликовал Максим Рябов (M-Mark-76) в раздел Администрирование - Оптимизация БД (HighLoad)

Как запустить ЦУП  (Центр управления производительностью, редакция 2.0 (2.0.5.43)) на платформе 1С 8.3

Я, как и многие, столкнулись с тем, что ЦУП достаточно капризная программа, особенно в плане COM коннектора, и на платформе 8.3 категорически не желает его признавать установленным.

 

Что было: сервер (физ. машина) ОС WIN2008 server, SQL Server 2005, 1С Сервер х64, 1С платформа 8.3.5.1098 и Центр управления производительностью, редакция 2.0 (2.0.5.43).

 

Первая попытка была путем типовых инструкций типа: regsvr32 comcntr.dll, уговорить его работать, все напрасно, но думаю, что сам шаг необходим.

 

После долгих мучений пришлось взяться за отладчик и исследовать ЦУП.

В итоге выяснилось, что встроеная библиотека никак не опознает того, что в системе есть COM-соединитель, и решение объяснить, откуда он берется, вручную, оказалось правильным.


Вот собственно код для процедуры общего модуля "МастерНастройки":

 

 

Процедура ПроверитьCOMСоединитель() Экспорт

Инструменты = КипВнешнийКомпонент.ПолучитьИнструменты();
Путь = КипВнешнийКомпонент.ПутьCOMСоединителя(Инструменты);
//РМС
//Если ПустаяСтрока(Путь) Тогда
// ВызватьИсключение "COM-соединитель (comcntr.dll) не зарегистрирован.";
//КонецЕсли;

Путь = "C:\Program Files\1cv8\8.3.5.1098\bin\comcntr.dll";

//Поскольку в описании говорится именно о папке с клиентским модулем в теории  возможно что подойдет и "C:\Program Files (x86)\1cv8\8.3.5.1098\bin\comcntr.dll"


Версия = КипВнешнийКомпонент.ВерсияФайла(Инструменты, Путь);
СисИнфо = Новый СистемнаяИнформация;

Если СисИнфо.ВерсияПриложения <> Версия Тогда

ВызватьИсключение "Зарегистрированная версия " + Версия + " COM-соединителя ("
+ Путь + ") отличается от необходимой версии " + СисИнфо.ВерсияПриложения + ".";
КонецЕсли;

Общий.ПолучитьComСоединитель();
 КонецПроцедуры 

 

 

После этого ЦУП на сервере прижился и даже выполняет свои функции.

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей (necropunk) 18.11.14 15:16
Это не единственная проблема, с которой я столкнулся на 8.3 с ЦУПом, не знаю, может в новой версии поправили, но буквально несколько месяцев назад настраивал - извелся весь. Мониторить мог, счетчики работали, но при попытке собрать какую-нибудь инфу типа плана запросов - просто удалял данные. Ну, много, много там напильником было перепилено, пока не заработало. Тут вот в комментариях обсуждали: http://forum.infostart.ru/forum24/topic93661/
2. Максим Рябов (M-Mark-76) 18.11.14 15:40
(1) necropunk, Да читал я данный раздел, правда по запуску на 8.3 там ничего толком не нашлось.
Но ошибок конечно в ЦУПе масса, с этим полностью согласен, без напильника с ним не поработаешь.
3. Александр Овсянников (_LEV_) 18.11.14 18:05
Решение не совсем верное, поскольку "comcntr.dll" регистрируется от последней установленной платформы... т.е. если после 8.3.5.1098 установить 8.2.16 то он обновится, и чтобы правильно работал нужно регистрировать необходимый "comcntr.dll" под правами администратора.
как-то так.. regsvr32 "C:\Program Files\1cv8\8.3.5.1098\bin\comcntr.dll";
Александр056; GreenDragon; Korolev; GROOVY; +4 Ответить
4. BigB (BigB) 18.11.14 21:51
5. Владислав Мороз (vlad.frost) 19.11.14 09:37
Выглядит странным сегодня, в конце 2014 года пытаться запускать версию 11 года. Актуальная на сегодня версия - 2.0.13.10, вышла совсем недавно.
Александр056; h00k; DoctorRoza; +3 Ответить 1
6. Алексей Роза (DoctorRoza) 21.11.14 08:09
(5) vlad.frost, на 8.3 нормально запускается? В комментариях курса по Оптимизации Андрея Бурмистрова, говорится, что, по крайней мере, Тест-Центр работает нестабильно!
7. Dmitry Bas (b-dm) 21.11.14 15:38
Да уж, намучаемся с 8.3. Зато возможностей новых интересных вагон!)
8. Андрей (h00k) 22.11.14 08:24
(6)DoctorRoza

Последний ЦУП 2.0.13.10 вполне себе хорошо работает как на 8.2.19 + MS SQL 2008/2012, так и на 8.3.5.1248 + MS SQL 2012/2014.
Проверен в двух основных вариантах развертывания:
- на одном общем сервере,
- на двух независимых серверах в домене: Сервер 1С+СУБД + Сервер 1С(ЦУП)+СУБД.

В настройках ЦУП, Меню – ЦУП – Настройки, наконец то изменили дефолтную настройку длительности хранения файлов логов ТЖ до 4 часов. В старых версиях стояло 10 000 часов и при настройке необходимо было не забыть уставить разумную длительность, а теперь их можно даже не открывать, ну если только для отключения режима отладки.

Из возможных нюансов могу отметить что в моей версии ЦУП:
- Изменен запрос в функции ВыгрузитьДанные общего модуля Анализ, вложенный запрос заменен обращением к временной таблице.
- Изменен запрос в процедуре ПодготовитьДанныеДляПросмотра общего модуля ЖурналПоказателей, данные журнала выбираются только за анализируемый период времени.
- Для варианта на одном общем сервере изменены названия счетчиков в функциях ИмяСчетчикаКоличествоОжиданийMSSQL и ИмяСчетчикаКоличествоВзаимоблокировокMSSQL общего модуля КипWindows. Тут решение для каждого индивидуальное, необходимо смотреть как этот счетчик называется в системном мониторе и такое же название вписать в функцию. Все остальные проблемы связаны с настройкой прав.


Мониторить мог, счетчики работали, но при попытке собрать какую-нибудь инфу типа плана запросов - просто удалял данные.

Два варианта: либо старая версия ЦУП не понимавшая формат ТЖ 8.3, либо у пользователя, под которым был запущен сервер 1С с ЦУПом, тупо небыло прав на папку c:\temp
9. Sky XN (sky.xn) 07.12.14 21:02
На прошлой неделе тестировал центр управления производительностью на 8.3, все работает великолепно, никаких ошибок замечено не было. Так что статья ИМХО вообще ни о чем
10. Сергей (necropunk) 08.12.14 11:34
(9) sky.xn, ну, видимо, тут раз на раз. У меня вот не сразу взлетел, многие функции глючили страшно, хотя настраивал последний релиз.
11. Андрей (h00k) 08.12.14 12:14
(10)
многие функции глючили страшно

Какие например?
12. Сергей (necropunk) 08.12.14 17:51
(11) h00k, При попытке анализа запросов, да и вообще, любого аналитического показателя, замеры не сохранялись, показатели анализировались, но просмотр анализов был недоступен. Пришлось довольно поковыряться, в общем. Дело было совсем не в правах, данные в ЦУП попадали. Не знаю, может не разобрался, конечно, да и время поджимало, других задач много было...
13. gad sas (sas95) 09.12.14 14:20
14. friend0 13.03.15 18:06
В очередной раз поражаюсь корявости ЦУП. Версия 2.0.14.12.
Стоит клиент-серверно на 8.2. При поптыке подключиться к 8.3.5 ругается что не совпадает версия с 8.2.
Ставлю локально (установлена тестовая 8.3.6, зарегана для консоли 8.3.5) пытаюсь подключиться к 8.3.5 - не совпадает версия с 8.3.6.
Ставлю в настройках запуска ЦУП версию 8.3.5, запускает как 8.3.5, но при попытке подключения вообще выдает кривую ошибку про точку входа в DLL.

Вот неужели трудно было дать пользователю выбрать версию в настройках?
15. Сергей (necropunk) 16.03.15 11:21
(14) friend0, что-то вы с версиями просто мудрите, мне кажется... Если версия платформы на которой крутится ЦУП и версия платформы исследуемой базы совпадают - выдается ошибка? Можно скрин или просто текст ошибки, может кто подскажет чего, тут многие от ЦУПа натерпелись...
16. friend0 16.03.15 16:03
(15) necropunk, да если совпадают, то поди будет работать. Мне сейчас просто не особо надо - хотел быстренько глянуть что там как в новой версии, не появилось ли вдруг каких-нибудь длинных запросов. Но быстренько не получилось. Но ИМХО разворачивать отдельный ЦУП для каждой используемой версии (у нас и 8.1 и 8.2 и 8.3 используются) не совсем правильно, если вся разница в используемой длл для СОМ-соединения.
17. Cth; Xthrfcc (spyx7) 06.05.15 08:02
день добрый. Проблемка возникла сначала такая как в теме, но она решилась добавлением кода, а вот как решить не выбирается кластер а выдаёт "Справочник.ИнформационнаяБаза.Форма.Настройка.Форма(160)}: Поле объекта не обнаружено (Name)
СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.Name + Описание);"
Вследствие чего не могу запустить монитор.
18. Cth; Xthrfcc (spyx7) 07.05.15 09:34
(17) spyx7, сам решил, если у кого также вылезет то вот в этой процедуре вместо ТекущийКластер.Name нужно написать ТекущийКластер.HostName
// Заполнить список доступных кластеров на указанном центральном сервере
//
Процедура КластерНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)

СписокКластеров = ЭлементыФормы.Кластер.СписокВыбора;
СписокКластеров.Очистить();
Кластеры = мАгентСервера.GetClusters();

Для Каждого ТекущийКластер Из Кластеры Цикл
Порт = Формат(ТекущийКластер.MainPort, "ЧГ=0");
Описание = " (" + ТекущийКластер.HostName + ":" + Порт + ")";
СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.HostName + Описание);
//СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.Name + Описание);
КонецЦикла;

КонецПроцедуры // КластерНачалоВыбораИзСписка()
19. Игорь Дзеса (Kamikadze) 25.11.16 00:07
У меня проблемма на 8.3.9. Не регистрируеться компонента
20. Андрей (h00k) 25.11.16 12:03
(19)
У меня проблемма на 8.3.9. Не регистрируеться компонента

Запускайте ЦУП под клиентом х32.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа