gifts2017

Консоль анализа запросов (или как выиграть ноутбук)

Опубликовал Вячеслав Гилёв (Gilev.Vyacheslav) в раздел Администрирование - Оптимизация БД (HighLoad)

До 15 декабря стартовал конкурс с призом - НОУТБУК! Нужно оказаться "умнее" нашей консоли и продемонстрировать случай когда наш инструмент не сможет проанализировать неоптимальность. Приз получит самый активный. В конкурсе может принять участие каждый желающий.

Большая часть проблем производительности 1С лежит в неоптимальных запросах. Даже многие блокировки — лишь следствие избыточного сканирования данных неоптимальными запросами. Поэтому основная задача оптимизации всегда будет в том числе в оптимизации наиболее используемых запросов.
Для оптимизации используйте уникальный инструмент быстрого автоматического анализа неоптимальности запросов, позволяющий разработчику получить возможность оперативно проанализировать свой запрос и исправить в нём ошибки, не привлекая для этого 1С Экспертов.

Инструмент позволяет автоматически проанализировать структуру выполняемого запроса, план его выполнения на MS SQL и в нашем облачном сервисе показывает рекомендации, позволяющие программисту оптимизировать исходный запрос.

Кто бы что на разных курсах не рассказывал «про чудесные секреты», а основным показателем является количество оптимизированных запросов. Просто и банально. 

Другими словами, большая часть проблем производительности 1С лежит в неоптимальных запросах. Даже многие блокировки — лишь следствие избыточного сканирования данных неоптимальными запросами. 

Поэтому основная задача оптимизации всегда будет в том числе в оптимизации наиболее используемых запросов. 
Нашу работу обработка существенно облегчает. 
На видео показана работа консоли

Для использования учетной записи в наших сервисах пройдите простую регистрацию https://skynet.gilev.ru/users . 

Консоль запросов  можно скачать на главной странице http://www.gilev.ru/#ConsoleGilevRu  

Нужно настроить консоль согласно инструкции  http://www.gilev.ru/console_setup 
Результат анализа отображается на нашем сервере https://isinka.gilev.ru/QueryAnalyzerService/ 

В текущей версии обработки нужен интернет для передачи данных на анализ. Запускается в режиме управляемых форм, или в частных случаях - Свойства конфигурации, галочка Использовать управляемые формы в обычном приложении

Используется 2 независимых эврестических алгоритма.

Проактивный анализ без учета факта конкретного запуска расположен на первой закладке.

Такой подход позволяет разобрать даже самые сложные пакетные запросы и дает сильное преимущество именно в тех случаях когда "глазами быстро не окинуть".

Реактивный анализ учитывает особенности конкретного факта исполнения запроса на основании плана запроса.
Анализ фактического исполнения, расположенный на второй закладке позволяет увидеть нюансы поведения оптимизатора запроса субд, который может менять свое поведение при различных исполнениях одного и того же запроса. 

На третьей закладке расположена статистика помогающая проанализировать порядок решения вопросов по принципу Парето


Не смотря на то что анализ запросов платный (50 руб. за запрос), работать можно БЕСПЛАТНО

Готовы делится бесплатно анализом запросов взамен на Ваш обратный отзыв и рекомендации, а конкретнее: 
•    Написать в почту slava@gilev.ru запрос с ссылкой на эту статью и указать учетную запись в наших сервисах - 10 запросов бесплатно (можно делать не одну итерацию)
•    по каждому запросу и обнаруженной рекомендации дать обратную связь нам, насколько ясна рекомендация, помогла ли она - еще 3 запроса бесплатно по каждой обратной связи 
•    написать отзыв на своей странице и сообщить нам об этом - 3 месяца безлимита 
•    написать отзыв в своем блоге  и сообщить нам об этом- 1 месяц безлимита 
•    написать отзыв в своей ленте в социальных сетях  и сообщить нам об этом- 1 неделя безлимита 

Конечно на экзамене 1С:Эксперт нашей обработкой Вам пользоваться не разрешат – слишком легко сдавать будет.

КОНКУРС.
28 октября стартовал конкурс с возможностью выиграть Ноутбук. На время действия конкурса до 15 декабря любой желающий может использовать консоль бесплатно.
Для участия можно использовать либо свою учетную запись в сервисах http://www.gilev.ru/online/ либо использовать учетную запись "Пользователь" в настройках консоли. 
Если Вы отправляете данные под записью "Пользователь", то смотреть результаты нужно в https://isinka.gilev.ru/QueryAnalyzerService/ указав в качестве пользователя "Пользователь" без пароля.
Примечание. Приз будет выдан в Москве.
UPD. Выложена версия 1.5.18

Добавлена возможность анализа метаданных регистров расчета

Скачать файлы

Наименование Файл Версия Размер
GilevRu_Console 9
.epf 641,16Kb
21.11.16
9
.epf 1.5.18 641,16Kb Скачать

См. также

PowerTools от 1 000
Вознаграждение за ответ
Сумма: 1 $m
Добавили:
Вячеслав Гилёв (Gilev.Vyacheslav) (1.00 $m)
Подписаться Добавить вознаграждение
Комментарии
1. Александр Крынецкий (echo77) 22.10.16 18:27
(0) Наверное, хорошая вещь, но.
1. Как-нибудь можно воспользоваться обработкой, если нет прямого соединения с веб-сервисом анализа запросов? :-)
2. Будет ли версия для ретроградов, для обычного приложения?
2. Alister (Alister) 22.10.16 18:42
Интересно, а как теперь в этом новом интерфейсе перейти из коментов к самой публикации?
3. Дмитрий Г (Дмитрий74Чел) 22.10.16 19:04
(2) Alister, а никак. И поиск по форуму похерили - не могу найти. Думал adblock шалит - ан нет. НЕТУ кнопки поиск в форуме.
4. Канат Джумадылов (Fox-trot) 22.10.16 19:08
(2) (3) ну что вы в самом-то деле. чел работу работал а вы тут развели базар. давайте только по теме
6. Alister (Alister) 22.10.16 19:23
(5) Alex_E, я нашел - слева внизу есть банер "Лучшие из новых", эта публикация самая верхняя.
8. Канат Джумадылов (Fox-trot) 22.10.16 19:33
9. Алексей Ермилов (Alex_E) 22.10.16 19:38
(8) Fox-trot, да не шумел бы, коли хучь раз услышал, что ""работаем" теперь то понятно - будем подождать))))
10. Алексей Ермилов (Alex_E) 22.10.16 20:20
не или шуметь дальше, или ждать удобоваримое решение - ИМХО - так жить низззяяяя
11. Вячеслав Гилёв (Gilev.Vyacheslav) 23.10.16 08:54
(2) Alister, если есть какие то сложности с навигацией, то можно прочитать тут http://www.gilev.ru/#ConsoleGilevRu
12. Вячеслав Гилёв (Gilev.Vyacheslav) 23.10.16 09:07
(1) echo77, обработка развивается, при выходе новых версий указываем детали что изменено или добавлено
в текущей версии нужен интернет и управляемые формы, или в частных случаях - Свойства конфигурации, галочка Использовать управляемые формы в обычном приложении
13. Alister (Alister) 23.10.16 13:13
14. bulpi bulpi (bulpi) 23.10.16 19:03
Офигенная штука!
Вот бы еще решить как-то другую проблему. Если я знаю, что проблема конкретно в этом запросе, то я уж как нибудь с ним разберусь, с вашей помощью , или без нее. Но если запросов тысяча, и какие-то тормозят работу, причем не всегда , а эпизодически :(
Как их выделить? Про технологический журнал я знаю, но как-то не хватает у меня мозгов из него извлечь пользу. Слишком там все сложно.
Бывалый77; +1 Ответить 3
15. Канат Джумадылов (Fox-trot) 23.10.16 20:06
16. bulpi bulpi (bulpi) 23.10.16 21:24
Вот такая ерунда в обработке на одной из баз:

Ошибка при вызове метода контекста (ПолучитьCOMОбъект)
ИДТекущегоПроцесса = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2:Win32_Process.Handle='" + Формат(Процесс.ProcessID, "ЧГ=0") + "'").ParentProcessID;
по причине:
Ошибка получения объекта COM: IDispatch error #3586


Это не от того ли, что я 8.2 использую ?
18. bulpi bulpi (bulpi) 23.10.16 21:41
Замечание :
Некоторые вещи в обработке вызывают модальные окна.В современных типовых модальность отключена, приходится включать.
19. Uladzimir - (nvv1970) 23.10.16 22:09
Вячеслав, как у вас оказалось в примере, что справочник не содержит индекса по ссылке?? Несколько ложное сообщение.
Очевидно, что для получения ссылки справочника было выполнено сканирование какого-то легкого некластерного индекса.
20. Вячеслав Гилёв (Gilev.Vyacheslav) 24.10.16 00:14
(19) nvv1970, мы на инфостарте готовы обсудить эту тему

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

в анализе в алгоритма размещенные на отдельных закладках:

1. преданализ текста запроса 1С без выполнения
это предположительный анализ

2. постанализ плана запроса
точный анализ, который имеет больший вес по сравнению с первым алгоритмом

кроме того, 3я закладка в левой таблице показывает статистику физических операторов, из которой можно понять кто по правило парето подлежит оптимизации в первую очередь

(14) bulpi, Вам нужно собрать статистику по запросу который вы подозреваете или хотите выяснить запрос, который вносит наибольшие замедления?

(17) Dach, инструмент платный, цель статьи проинформировать рынок о новых возможностях, которых раньше ни у кого не было,
с руководством инфостарта согласовано,
при этом предоставляем беспрецедентно лояльные условия К БЕСПЛАТНОМУ ИСПОЛЬЗОВАНИЮ, которые перечисленный в статье, а конкретнее надо:
• Написать в почту slava@gilev.ru запрос с ссылкой на эту статью и указать учетную запись в наших сервисах - 10 запросов бесплатно
• по каждому запросу и обнаруженной рекомендации дать обратную связь нам, насколько ясна рекомендация, помогла ли она - еще 3 запроса бесплатно по каждой обратной связи
• написать отзыв на своей странице и сообщить нам об этом - 3 месяца безлимита
• написать отзыв в своем блоге и сообщить нам об этом- 1 месяц безлимита
• написать отзыв в своей ленте в социальных сетях и сообщить нам об этом- 1 неделя безлимита

Вы спрашиваете:

Парни, я завтра не поленюсь и зашлю Вам с работы портяночный запрос из 20 пакетов на пару тысяч строк - за 50 рублей оптимизируете?


Алгоритм преданализа полностью проанализирует всю портянку. Более того, именно из-за таких запросов мы инструмент и создали - простые запросы не сложно и глазами просмотреть. Уверен, Вы оцените на практике мощь нашего инструмента. Это только вопрос времени когда все начнут им пользоваться. Мы готовы ждать и ожидаем на первых порах не понимание. Это нормально.
21. Вячеслав Гилёв (Gilev.Vyacheslav) 24.10.16 00:53
(18) bulpi, обновлена версия обработки учитывающая модальность
22. Вячеслав Гилёв (Gilev.Vyacheslav) 24.10.16 00:59
(17) Dach,
но тогда напишите в заголовке публикации, что сервис платный,

в разделе условий использования написали

да и по условиям сотрудничества поподробнее...

задайте конкретный вопрос
23. Максим Кузнецов (Makushimo) 24.10.16 06:57
Шикарно.
Обязательно буду использовать.
24. Maxim Goncharov (maxx) 24.10.16 09:18
В видео ваш анализатор показал 4-ую проблему, что у справочника "Пользователю" по полю Ссылка нет индекса. Разве в справочниках и документах поле ссылка не всегда индексировано?
25. Роман С (Dach) 24.10.16 09:32
(22) Gilev.Vyacheslav, тогда все ясно. То есть анализ плана запроса автоматизирован? Но ведь все равно это будут некие общие рекомендации, так? Потому что ну например, у меня полный скан какой-то таблицы. Но я, как разработчик - знаю, что там всего 1000 строк и этот скан особо не влияет на производительность. И как лучше использовать консоль? "Прогревать" кэш перед отправкой плана на сервис сайта или нет?
26. Роман С (Dach) 24.10.16 09:44
И еще, Вячеслав - написать отзыв или пост в соц. сетях можно, но может быть дадите хотя бы несколько бесплатных анализов для начала? Чтобы можно было на живых примерах потестить, а потом уже пилить отзывы. Учетка на Вашем сайте такая же, как ник здесь
27. Sergey Andreev (starik-2005) 24.10.16 10:53
(14) bulpi, если запросов много и тормозят они периодически, а не всегда, то дюрейшн в профайлере скула Вам в помощь.
28. Вячеслав Гилёв (Gilev.Vyacheslav) 24.10.16 11:01
(26) Dach, доступ к кнопке анализа сделан, можете пользоваться
но может быть дадите хотя бы несколько бесплатных анализов для начала?

для лучшего понимания - а пункт
• Написать в почту slava@gilev.ru запрос с ссылкой на эту статью и указать учетную запись в наших сервисах - 10 запросов бесплатно

не отвечает на Ваш вопрос?

(25)
там всего 1000 строк и этот скан особо не влияет на производительность
если в результате снизится стоимость плана запроса, то все равно стоит этим заняться, если запрос выполняется часто

"Прогревать" кэш перед отправкой плана на сервис сайта или нет

1. сбрасывать процедурный кэш "на всякий пожарный"
2. если данные не закэшированы, то стоит разобраться с причинами сначала

(24)
Разве в справочниках и документах поле ссылка не всегда индексировано?

на закладке "Хранение данных" вы можете посмотреть структуру всех данных, участвующих в запросе, в том числе индексы и их состав
29. bulpi bulpi (bulpi) 24.10.16 15:22
(20)
Вячеслав, я хочу выяснить, какие запросы вносят наибольшие замедления (например, Топ 10)

(27)
Я всего лишь 1с-ник. Я не знаю, о чем это "дюрейшн в профайлере скула " и как им пользоваться.
30. Канат Джумадылов (Fox-trot) 24.10.16 18:41
(29) bulpi, браво! слова настоящего джигита профессионала. а ведь на деле там все просто ;-)
31. Вячеслав Гилёв (Gilev.Vyacheslav) 24.10.16 22:29
(29) bulpi,
хочу выяснить, какие запросы вносят наибольшие замедления (например, Топ 10)

мы пользуемся бесплатным инструментом http://www.gilev.ru/querytj/ , который именно это задачу и выполняет
32. bulpi bulpi (bulpi) 25.10.16 12:39
(31)
Ух ты! А ведь такую штуку по уму нужно бы сделать самой фирме 1с.
33. Руслан Хитров (Sheff) 25.10.16 15:38
34. Sergey Andreev (starik-2005) 25.10.16 18:19
(32) у 1С есть ЦУП, там есть топы и прочее, но нет рекомендаций, собственно, по улучшению запроса.
35. Вячеслав Гилёв (Gilev.Vyacheslav) 26.10.16 01:13
(32) bulpi, не скажу что мы обладаем какими-то уникальными знаниями, но все самое лучшее в области производительности фирма 1С у нас и перенимает (когда накапливает нужную компетенцию)
это только вопрос времени когда все перейдут на наш новый подход к оптимизации

мы кстати готовы предоставить API для интеграции в ЦУП, софтпоинтовские и прочие инструменты, но ждем инициативу от владельцев инструментов
36. Антон Стеклов (asved.ru) 26.10.16 07:39
(34) starik-2005, ЦУП предполагает наличие у эксплуатанта экспертных знаний. Естественно, рекомендации эксперта будут гарантированно эффективны. Описываемый же сервис гарантий эффективности не дает, но и мозгов не требует.
37. Антон Стеклов (asved.ru) 26.10.16 07:42
все самое лучшее в области производительности фирма 1С у нас и перенимает (когда накапливает нужную компетенцию)
это только вопрос времени когда все перейдут на наш новый подход к оптимизации

мы кстати готовы предоставить API для интеграции в ЦУП, софтпоинтовские и прочие инструменты, но ждем инициативу от владельцев инструментов


*Плакает и судорожно ищет в SWT глубоко запрятанный тест Гилева.
38. Сергей Огородников (Serg O.) 26.10.16 16:31
Добрый день, спасибо за такую штуку... идея хорошая - БОЛЬШОЙ ПЛЮС (+)

Пожелание:
* после выполнения запроса - хотелось бы где-то видеть Время его выполнения... в миллисекундах
я себе добавил пару строк:

Время0 = ТекущаяУниверсальнаяДатаВМиллисекундах();
ЗапуститьВыполнениеЗапроса(Ложь);
Время1 = ТекущаяУниверсальнаяДатаВМиллисекундах();
ЭтаФорма.Заголовок = "Время выполнения: "+строка((Время1 - Время0)/1000)+" сек. "+ЭтаФорма.Заголовок;

*Конструктор запроса - вызов только правой кнопкой - хотелось бы кнопку...

проблемы с доступом к результатам...
* https://isinka.gilev.ru/QueryAnalyzerService/ - нет доступных лицензий
* Конструктор запроса - пишет Доступен только в Толстом клиенте
* оптимизировать запрос... платная функция?! про это как-то нигде не написано
39. Вячеслав Гилёв (Gilev.Vyacheslav) 27.10.16 01:02
(36) сколько запросов Вы проанализировали нашей обработкой чтобы говорить об эффективности? Положительные отзывы о пользе мы уже получили. Обработка не заменяет мозги, но дает возможность научится решать проблемы.
40. Вячеслав Гилёв (Gilev.Vyacheslav) 27.10.16 01:05
(38) спасибо за предложения, доработаем по возвращению с инфостарта, количество лицензий увеличим
41. Sergey Andreev (starik-2005) 27.10.16 13:30
(36) ну был у нас эксперт (даже есть - на прошлой работе остался). Был у нас и ЦУП (и, полагаю, до сих пор есть). Были и франчи (их уже там нет). Был APDEX, мониторинг, технологический журнал, ... В итоге год почти потребовался, чтобы понять, что не хватает 1С-у мозгов переварить результаты огромного количества запросов, их огромного объема и прочее разное другое. Да, ЦУП что-то показывал, что собственно, можно было бы получить и из трассировки (которую тоже постоянно гоняли). Но то ли эксперт был ни очень, то ли проблема была слишком сложной, но в итоге один и тот же сервер при выделении отдельно отчетной базы стал работать с нужным уровнем производительности. Сервер 1С один, сервер СУБД один, база одна - все встает колом. Стало две базы - все стало летать. Вот такой вот интересный эффект - может кто потом объяснит, что за интересные особенности национального ПО (хау-ноу, как говорил Задорнов).

Но в итоге в топку ЦУП и весь курс подготовки к эксперту, ибо написали свою систему мониторинга ТЖ, контроля доступности баз, механизм сверки, ... Чужими продуктами пользоваться (особенно 1С) - анриал. Тот же APDEX настраивается через одно место: хочешь найти показатель - выбери "Ключевой показатель (строка)" или ввести сцылку, а в классификаторе показателей вообще поиск не работает. Зашел в список APDEX - отфильтровать его нельзя. Диаграмма - полное хоу-нау - не ясно, на кой хрен они ее туда сунули. Ну и поменял показатель - улетел в начало списка, потом листай полчаса до того места... Кароче, редкостное хоу-нау - проще в 10 раз свое написать, чем это ...использовать.
42. Александр Пономаренко (AlexEuro) 28.10.16 14:42
А в корпоративную подписку будет входить данная консоль?
43. Вячеслав Гилёв (Gilev.Vyacheslav) 28.10.16 20:16
44. Вячеслав Гилёв (Gilev.Vyacheslav) 29.10.16 04:22
Под логином Пользователь без пароля проводим конкурс с призом Ноутбук!
Необходимо продемонстрировать запрос и как его можно оптимизировать, но консоль не смогла это сделать. Приз получит наиболее активный. Участие можно принять до 15 декабря.
45. Nikita Leleko (sigmov) 01.11.16 04:01
> 50 руб. за запрос
Лучше ввести "политику" абонементов. ИМХО.
46. DarkAn DarkAn (DarkAn) 01.11.16 10:52
Сервис, СУПЕР! уже оценил :)
7o2uYXg; zorkKiy; Andrey.Gilev; igorynets; Gilev.Vyacheslav; +5 Ответить 1
47. Вячеслав Гилёв (Gilev.Vyacheslav) 01.11.16 14:12
(45) sigmov, до 15 декабря БЕСПЛАТНО
48. Вячеслав Гилёв (Gilev.Vyacheslav) 01.11.16 14:13
(46) DarkAn, рассчитываем на обратную связь - помогло ли в обучении или решение вопросов на рабочей базе...
49. Вячеслав Гилёв (Gilev.Vyacheslav) 01.11.16 14:39
чтобы было прозрачно по конкурсу - шансы в конкурсе точно есть у пользователя учетной записи MJack
предлагаю остальным подумать, точно ли ноутбук не нужен )
50. Вячеслав Гилёв (Gilev.Vyacheslav) 01.11.16 17:39
Выложена версия 1.5.9
1) В форму настроек добавлена галочка для конкурса чтобы не регистрироваться в сервисах
2) При возникновении лексических ошибок выводится сообщение в удобочитаемой форме с описанием возможных ошибок (ситуация с "{")
3) Исправлен парсер запросов - учтено, что некоторые идентификаторы могут начинаться с символа "_" (подчёрк)
51. Вячеслав Гилёв (Gilev.Vyacheslav) 01.11.16 17:57
Обновление по конкурсу: обнаруженный недоанализ повторяющихся сложных вложений в алгоритме пока не реализован, но новыми претендентами на ноутбук заявляться не может, он начислен плюсом пользователю MJack
52. Вячеслав Гилёв (Gilev.Vyacheslav) 02.11.16 09:26
Выложена версия 1.5.10

1) Исправлен анализ функции ТИП()
2) Доработан парсинг конструкции "Аргумент В (Значение1, Значение2,... ЗначениеN)

Примечание к конкурсу. Из нереализованного, но уже обнаруженного для новых участников снимается анализ конструкций типа ЕСТЬNULL вставлять неоптимальные аргументы, а также проверка избыточных колонок во вложенном запросе, проверку на NULL при отсутствии соединений
53. Александр Потапов (tiniji) 03.11.16 03:53
На PostgreSQL работает ? Почему-то там если делать запрос к Документ.РеализацияТоваровУслуг.Товары и потом использовать некоторые реквизиты из Ссылка, то все тормозит, если сделать соединение с Документ.РеализацияТоваровУслуг и уже оттуда брать ссылку, то все летает. Или это от настроек PostgreSQL зависит ?
54. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 09:34
(53) tiniji,
Инструмент позволяет автоматически проанализировать структуру выполняемого запроса, план его выполнения на MS SQL

55. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 09:36
(53) tiniji,
Почему-то там если делать запрос к Документ.РеализацияТоваровУслуг.Товары и потом использовать некоторые реквизиты из Ссылка, то все тормозит

смотрите план запроса, не надо гадать,
предположу что там происходит разименовывание
56. Елена Пименова (Bukaska) 03.11.16 09:49
(2)В первом комменте есть зеленая кнопочка: Перейти к публикации
57. rjhev korum (корум) 03.11.16 10:11
58. Евгений Чекушкин (check2) 03.11.16 11:12
Добрый день!

Скачал консоль, начал настраивать по инструкции, однако не получается включить галку "Показывать план выполнения запроса" 1С запускал с повышенными привилегиями (от админа), режим - толстый клиент, управляемое приложение, пробовал и в тонком клиенте. ОС Win 10 корп. билд 10586. При попытке нажать на галку "Показывать план выполнения запроса" получаю ошибку (см вложение). Десяткой пользуюсь не очень давно - не ас, всё что знал с 7ки и 8ки - отключил, UAC отключил, добавить в список исключений DEP файлы 1cv8XX.exe не получается, выходит сообщение о том, что эти программы должны выполняться со включенным DEP. Таким образом виртуализация каталога приложения отключена, а консоль пытается записать logcfg.xml в каталог с программными файлами: bin. Что делать? Код модуля закрыт. Я могу сам настроить тех журнал, но галку всё равно не могу включить...
ЗЫ Сервер 1С (rphost.exe) так же выпоняется с повышенными привилегиями, хотя дело скорее всего не в нём.
59. Евгений Чекушкин (check2) 03.11.16 11:16
Картинку забыл вложить
Прикрепленные файлы:
60. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 12:31
(59) check2, проверьте права пожалуйста для учетной записи, из под которой работает служба сервера 1С на указанную папку
61. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 12:37
(59) вот пример как выяснить какие права и кому нужно дать https://youtu.be/x4nXi7Cub8s
62. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 13:30
(59) просьба дать обратную связь, если не получится, готовы силами нашей команды подключиться, помочь настроить например через тимвьювер
63. Женька Ture (ture) 03.11.16 13:34
(0)
{Форма.Форма.Форма(1134)}: Ошибка при вызове метода контекста (ВыполнитьЗапросСервер)
ВыполнитьЗапросСервер(ИндексТекущегоЗапроса, РезультатЗапроса, ВыводитьВременныеТаблицы, ВыводитьИдентификатор, Текст, ТекстСообщения);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: param Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: d Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
64. Андрей Бурмистров (Andreynikus) 03.11.16 13:38
(63) ture,
Пришлите полностью текст запроса на котором проявляется эта ошибка.
65. Женька Ture (ture) 03.11.16 14:17
(63) Так. Инфостарт против взлома. Из-за этого подробностей сообщать никто не будет, но т.к. здесь есть люди, которые прислушиваются к моему мнению (увы, всегда есть те, кто нам доверяет), я должен быть честен. Значит, когда я говорю не стоит, то значит что-то не то с функционалом.
66. Евгений Чекушкин (check2) 03.11.16 14:37
(60) Gilev.Vyacheslav, добавил права пользователю USR1CV8 на требуемый каталог - всё получилось. Смотрел не в том каталоге ...(x86)... Посыпаю голову пеплом... Загнался. Спасибо!
67. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 15:17
(66) check2, хорошо что хорошо )
68. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 15:18
(65) ture, из того потока что здесь выплеснут как я понял у Вас накручено с безопасностью и не работает интернет
обработка без интернета работать не будет
69. Евгений Чекушкин (check2) 03.11.16 15:54
(67) Gilev.Vyacheslav, запрос успешно был отправлен на анализ, однако при нажатии на кнопку "Оптимизировать запрос" "магии" не произошло. См. скриншот. А вроде как говорили, что 10 запросов бесплатно? или я что то не догоняю? Регистрационная запись centrab. Я что то не так понял?
Прикрепленные файлы:
70. Евгений Чекушкин (check2) 03.11.16 15:59
(67) Gilev.Vyacheslav, всё понял надо было запрос написать на slava@gilev.ru. Написал.
71. Вячеслав Гилёв (Gilev.Vyacheslav) 03.11.16 16:55
72. Вячеслав Гилёв (Gilev.Vyacheslav) 04.11.16 12:05
Получена полезная обратная связь от ТСМмск, vladislav.kashin - становятся претендентами на приз
73. Евгений Чекушкин (check2) 07.11.16 14:11
Добрый день!

Подскажите, какое то подозрительно одинаковое время для исполнения подзапросов (см. вложение) ну и как бы не совсем адекватное - фактическое время исполнения запроса было более 20 минут...
Прикрепленные файлы:
74. Евгений Чекушкин (check2) 07.11.16 16:37
Попробовал оптимизировать, согласно рекомендациям, в частности - установить фильтр виртуальной таблицы, при попытке отправить на анализ получил ошибку разбора запроса. Скрин во вложении.
Прикрепленные файлы:
75. Вячеслав Гилёв (Gilev.Vyacheslav) 07.11.16 17:01
(73) check2, неверно отображается, будет исправлено в очередной версии
76. Вячеслав Гилёв (Gilev.Vyacheslav) 07.11.16 17:05
(74) check2, заверните во временную таблицу и подложите ее в отбор, напишите пожалуйста что получится
77. Евгений Чекушкин (check2) 07.11.16 17:41
(76) Gilev.Vyacheslav, так это и есть временная таблица, так и сделано:
	РегистрНакопления.УчетЗатратРегл.Обороты(
			&НачалоПериода,
			&КонецПериода,
			,
			(АналитикаВидаУчета, АналитикаУчетаПартий, АналитикаРаспределенияЗатрат) В
				(ВЫБРАТЬ РАЗЛИЧНЫЕ
					КудаУехалЦирк.АналитикаВидаУчета,
					КудаУехалЦирк.АналитикаУчетаПартий,
					КудаУехалЦирк.АналитикаРаспределенияЗатрат
				ИЗ
					КудаУехалЦирк КАК КудаУехалЦирк)) КАК УчетЗатратВсего
...Показать Скрыть

Или я чего то не понимаю?
78. Евгений Чекушкин (check2) 07.11.16 17:58
Общие ощущения от процесса оптимизации.
Исходные данные
Запрос работал довольно быстро, по ощущениям около 5 секунд, однако он был явно кривой: в настройках MS SQL присутствовал параллелизм (0 Авто), была очень устаревшая статистика по таблицам, в тексте запроса было соединение с виртуальной таблицей без отбора, отсутствовали индексы в таблицах регистров накопления... Количество записей в результирующем запросе около 6,5 тысяч.
Что сделали:
Отключили параллелизм, обновили статистику, убрали виртуальную таблицу в подзапрос и добавили ей параметр (фильтр), конечный запрос на составные части, убрали все исходные таблицы ИБ во временные таблицы и проиндексировали их согласно рекомендациям оптимизатора. добавили индексы по полям согласно рекомендациям оптимизатора
Результат: новый, оптимизированный, запрос формируется так же около 5 секунд, старый вариант теперь формируется около 40 минут, полагаю из за того, что отключили параллелизм. Вроде как всё хорошо, но удовлетворения нет... Так как пришло понимание, что со всеми остальными кривыми запросами MS-SQL с текущими настройками работал и так хорошо, а в текущей настройке оставшиеся кривые запросы будут работать ещё хуже, а затраты на оптимизацию себя е оправдали - ожидаемый прирост производительности так и не произошёл. К сожалению не могу точно сравнить результаты ДО и ПОСЛЕ из за указанной выше проблемы.
Платформа 1С: 8.3.6.2041, Microsoft SQL Server Standard Edition 9.00.5057.00
79. Евгений Чекушкин (check2) 07.11.16 18:01
(76) Gilev.Vyacheslav, Или речь идёт о предложении "ГДЕ/WHERE"?
80. Вячеслав Гилёв (Gilev.Vyacheslav) 07.11.16 18:22
(78)
про
полагаю из за того, что отключили параллелизм

включите параллелизм и сравните

1. Ваш запрос вызывает не верный парсинг вложенной конструкции, мы сделаем улучшение в аналие в ближайшие дни! и посмотрим еще раз
2.НО! в плане запроса видно частичное сканирование - необходимо попытаться сделать нужный индекс - в рекомендациях об этом написано
см. картинку во вложении
3. оценивать запрос нужно по стоимости, а не только по длительности
4. не делайте сразу несколько изменений, оценивайте эффект от каждого шага в отдельности
5. рекомендации не выполнены на текущий момент, так что имхо рано подводить итоги

хорошо что написали про вложенную временную таблицу, мы бы сами ошибку в парсинге долго бы не нашли
Прикрепленные файлы:
81. bulpi bulpi (bulpi) 07.11.16 22:14
Вячеслав,
Ваш сервис по анализу долгих запросов мне помог, спасибо.
А вот консоль анализа запроса я так толком и не смог использовать. Об этом написал в Вашу техподдержку, и копию Вам.
82. Вячеслав Гилёв (Gilev.Vyacheslav) 07.11.16 22:27
(81) bulpi, что текущая версия консоли не работает или что? не вижу в почте
83. Евгений Чекушкин (check2) 08.11.16 11:43
(80) Gilev.Vyacheslav,
1,5) Жду исправленной версии консоли, чтобы продолжить.
2) Те индексы, что рекомендовали, я уже добавил в изменённую версию запроса но не могу загрузить в оптимизацию. Однако, оптимизатор рекомендует добавить индексы по полям "ВидДвижения" и "Активность" ну никак я этого из 1С сделать не смогу. Нет возможности индексировать системные поля регистров. Разве что создавать нужный индекс вручную в MS-SQL, но это не айс.
3) Вот про это ссылочку бы где почитать поподробнее
4) Так и делаю... Интересный момент - вернуться к старым результатам работы запроса получается, только включив параллелизм, и удалив дополнительные индексы из регистра, которые были добавлены согласно рекомендации.

PS Паралелизм больше не хочет SQL использовать, видимо виной статистика
84. Евгений Чекушкин (check2) 08.11.16 12:05
Gilev.Vyacheslav, а пожелания принимаются? Было бы не плохо разрешать из консоли сохранять план запроса (выгружать табличную часть) в MXL, для сравнения.
85. Евгений Чекушкин (check2) 08.11.16 12:15
(83) Ан нет, использует, да ещё как.
86. Вячеслав Гилёв (Gilev.Vyacheslav) 08.11.16 18:50
(83) check2, пока ждете

про
Нет возможности индексировать системные поля регистров. Разве что создавать нужный индекс вручную в MS-SQL, но это не айс

хочу сослаться на прием сотрудников фирмы 1С "в целях эксперимента для лучшего понимания..." создайте индекс на скуле

87. Вячеслав Гилёв (Gilev.Vyacheslav) 08.11.16 18:52
(84) check2, выгружать можно, а что дальше?
88. Вячеслав Гилёв (Gilev.Vyacheslav) 08.11.16 19:05
(83) check2,
Вот про это ссылочку бы где почитать поподробнее

я аж растерялся )))

наверно надо начать с базового https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1­%86%D0%B8%D1%8F_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D­0%B2_%D0%A1%D0%A3%D0%91%D0%94

затем детализация у вендора
https://msdn.microsoft.com/ru-ru/library/ms191227.aspx

ну и наконец мы часто делаем доклады что время запроса = время исполнения запроса + время ожидания блокировок + время ожидания оборудования, или нам не верите? )
Danil.Potapov; +1 Ответить 1
89. Евгений Чекушкин (check2) 09.11.16 09:20
(87) Gilev.Vyacheslav, Далее - банально, можно использовать режим 1С "сравнить файлы", и увидеть что изменилось (и изменилось ли) в плане запроса после внесённых изменений в текст запроса/систему и т.д.
90. Евгений Ванжула (minimajack) 09.11.16 09:32
(89) план запросов вещь непостоянная...а на живой базе и сравнивать бессмысленно...
разве что стоимость сравнить
91. Евгений Чекушкин (check2) 09.11.16 09:53
(88) Gilev.Vyacheslav, Зачем теряться? ;) Слава, я же не волшебник, я только учусь. Вопросами оптимизации занимался от случая к случаю. Пока случай не привёл к ситуации где всех моих "интуитивных" способов стало недостаточно. Спасибо за ликбез, теперь знаю критерии оценки, о части из них догадывался интуитивно, теперь в голове есть некий порядок. А что касается верю или не верю, верю всем, но проверяю.
92. Евгений Чекушкин (check2) 09.11.16 09:57
(90) minimajack, Речь не о живой базе, а подопытном экземпляре, который имеет некую статичность, и на котором производится оптимизация. На живой базе смысла смотреть конечно же нет.
93. Евгений Чекушкин (check2) 09.11.16 10:02
(86) Gilev.Vyacheslav, Разве что для эксперимента, чтобы ткнуть разработчиков платформы очередной раз в лужу... Дескать смотрите, как стало хорошо, а вы нам не даёте возможности управлять индексами из конфигуратора... :) Согласен, если конфигурация статична (не изменяется) и подобное решение даёт реальный оптимизационный эффект то, в качестве исключения, можно провести отступление от лицензионной политики 1С... В конце концов правила созданы, чтобы их нарушать... Если нельзя, но очень хочется - то можно :)
94. Вячеслав Гилёв (Gilev.Vyacheslav) 09.11.16 10:33
(81) (83) информирую, стоит проверить на новой версии консоли 1.5.12 (приложил к статье)
95. Вячеслав Гилёв (Gilev.Vyacheslav) 09.11.16 14:01
(93) check2, проделайте если не сложно "эксперимент с индексами" и прогоните вашу оптимизированный вариант в новой версии консоли, напишите пожалуйста что получилось
96. Виталий С (hlop11) 09.11.16 14:25
Gilev.Vyacheslav, Возможна ли адаптация консоли под другие СУБД? в частности postgresql
97. Вячеслав Гилёв (Gilev.Vyacheslav) 09.11.16 14:27
(96) hlop11, возможна, особенно если платно )
98. Вячеслав Гилёв (Gilev.Vyacheslav) 10.11.16 16:46
заявку в гонке за ноутбук внесли пользователи centrab с уточнением рекомендации по порядку полей
и ДЛ с оптимизацией разнотипных параметров
99. Станислав Шепталов (sCHTASS) 11.11.16 09:14
Проверить сервис не смог.
Код обработки закрыт, что шлется на web-сервис непонятно. Страшно отправлять не знай какие данные не знай куда.
Для таких трусов, как я, возможна небольшая доработка? Опишу ее суть.
Результат обработки выгружается в файл в открытом виде (xml, txt etc.). Я смотрю его, вижу, что ничего подозрительного нет, и загружаю его на ваш сайт для анализа.
100. Вячеслав Гилёв (Gilev.Vyacheslav) 11.11.16 13:28
(99) sCHTASS, мы "не проходная контора", чтобы говорить
не знай куда
- адрес выгрузки в настройках соответствует реальному обращению к нашему облаку легко проверить управляя правилами файрволла, а передаваемое содержимое снифером посмотреть, саму консоль проверять можно на демоверсии, вообщем "попытка уболтать" хорошая была, но планов что-либо "открывать" нет

мы можем пойти навстречу и заключить юридический документ, что наша обработка не передает данные из базы, не тянет ваши секреты

101. Владислав Кашин (botokash) 14.11.16 08:30
102. Вячеслав Гилёв (Gilev.Vyacheslav) 14.11.16 11:55
выложена новая версия 1.5.14
исправлена работа с константами и разделителем ;
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа