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

18.11.14

База данных - 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Соединитель();
 КонецПроцедуры 

 

 

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

См. также

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    6022    ivanov660    12    

56

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    10461    Evg-Lylyk    61    

45

HighLoad оптимизация Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    5652    spyke    28    

49

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    8362    vasilev2015    20    

43

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

2 стартмани

15.02.2024    13431    268    ZAOSTG    87    

116

HighLoad оптимизация Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Принимать, хранить и анализировать показания счетчиков (метрики) в базе 1С? Почему бы нет? Но это решение быстро привело к проблемам с производительностью при попытках построить какую-то более-менее сложную аналитику. Переход на PostgresSQL только временно решил проблему, т.к. количество записей уже исчислялось десятками миллионов и что-то сложное вычислить на таких объемах за разумное время становилось все сложнее. Кое-что уже практически невозможно. А что будет с производительностью через пару лет - представить страшно. Надо что-то предпринимать! В этой статье поделюсь своим первым опытом применения СУБД Clickhouse от Яндекс. Как работает, что может, как на нее планирую (если планирую) переходить, сравнение скорости работы, оценка производительности через пару лет, пример работы из 1С. Все это приправлено текстами запросов, кодом, алгоритмами выполненных действий и преподнесено вам для ознакомления в этой статье.

1 стартмани

24.01.2024    6417    glassman    20    

42

HighLoad оптимизация Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    17372    doom2good    49    

71
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. necropunk 11 18.11.14 15:16 Сейчас в теме
Это не единственная проблема, с которой я столкнулся на 8.3 с ЦУПом, не знаю, может в новой версии поправили, но буквально несколько месяцев назад настраивал - извелся весь. Мониторить мог, счетчики работали, но при попытке собрать какую-нибудь инфу типа плана запросов - просто удалял данные. Ну, много, много там напильником было перепилено, пока не заработало. Тут вот в комментариях обсуждали: http://forum.infostart.ru/forum24/topic93661/
pavlo; AlexK_2012; adhocprog; +3 Ответить
2. M-Mark-76 118 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";
pavlo; Александр056; GreenDragon; Korolev; GROOVY; +5 Ответить
4. BigB 193 18.11.14 21:51 Сейчас в теме
5. vlad.frost 186 19.11.14 09:37 Сейчас в теме
Выглядит странным сегодня, в конце 2014 года пытаться запускать версию 11 года. Актуальная на сегодня версия - 2.0.13.10, вышла совсем недавно.
Александр056; h00k; DoctorRoza; +3 Ответить
6. DoctorRoza 21.11.14 08:09 Сейчас в теме
(5) vlad.frost, на 8.3 нормально запускается? В комментариях курса по Оптимизации Андрея Бурмистрова, говорится, что, по крайней мере, Тест-Центр работает нестабильно!
8. h00k 51 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
adhocprog; +1 Ответить
7. b-dm 175 21.11.14 15:38 Сейчас в теме
Да уж, намучаемся с 8.3. Зато возможностей новых интересных вагон!)
9. sky.xn 07.12.14 21:02 Сейчас в теме
На прошлой неделе тестировал центр управления производительностью на 8.3, все работает великолепно, никаких ошибок замечено не было. Так что статья ИМХО вообще ни о чем
10. necropunk 11 08.12.14 11:34 Сейчас в теме
(9) sky.xn, ну, видимо, тут раз на раз. У меня вот не сразу взлетел, многие функции глючили страшно, хотя настраивал последний релиз.
11. h00k 51 08.12.14 12:14 Сейчас в теме
(10)
многие функции глючили страшно

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

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

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

КонецПроцедуры // КластерНачалоВыбораИзСписка()
user700035_6550355; +1 Ответить
23. user700035_6550355 34 29.11.18 09:31 Сейчас в теме
(18)
// Заполнить список доступных кластеров на указанном центральном сервере
//
Процедура КластерНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)

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

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

КонецПроцедуры // КластерНачалоВыбораИзСписка()
Показать


Спасибо, помогло))
19. Kamikadze 46 25.11.16 00:07 Сейчас в теме
У меня проблемма на 8.3.9. Не регистрируеться компонента
20. h00k 51 25.11.16 12:03 Сейчас в теме
(19)
У меня проблемма на 8.3.9. Не регистрируеться компонента

Запускайте ЦУП под клиентом х32.
21. Kamikadze 46 03.04.18 12:18 Сейчас в теме
(20) Переустановил компоненту на сервере - и поехало.

Но вот установил ЦУП 2.1 - а он даже мониторинг не запускает, ошибка в коде.
22. user700035_6550355 34 29.11.18 09:27 Сейчас в теме
Спасибо за статью, помогло ))
Оставьте свое сообщение