Непридуманные истории по оптимизации. История 1

13.06.19

База данных - HighLoad оптимизация

Первая статья из планируемого цикла об оптимизации приложений на базе 1С. Без теории. Одна практика.

Я решил начать цикл статей о том, как мы решаем те или иные технические проблемы связанные с 1С. В основном меня интересуют административные вопросы, то есть моя основная задача – сделать так, чтобы продуктивная система работала, несмотря на все попытки разработчиков и бизнес-аналитиков ее положить J

Говорил в предыдущих статьях, но напомню:

База ~4 Тб, 6 app серверов, 2 MS SQL сервера объединенных в AlwaysOn, сильно переписанная УТ 11.3.

 

В основном статьи будут небольшие, так как каждая будет охватывать только одну проблему. Если публике зайдет – буду писать пока будет материал. Если кого-то заинтересует сотрудничество или появятся технические вопросы – можно писать в личку.

Обращаю внимание – все нижеописанные проблемы имеют несколько решений, не всегда мое решение оптимальное, но оно точно помогло. Объективная критика приветствуется.

 

Итак, проблема этой недели. Повышенная нагрузка на ЦПУ в начале каждого часа и продолжающаяся примерно 5-10 минут.

Вот так выглядит проблема:

Вот более крупно самый большой всплеск в 21 час.

Следствием нагрузки на ЦПУ SQL сервера становится повышенный средний CALL (время вызова), а следовательно растет и время выполнения основных операций. Система «тормозит».

 

Причина всплеска на самом деле достаточно проста, у нас 3 с лишним тысячи магазинов по всей стране, в 16 часов по МСК начинают закрываться магазины. При закрытии магазина происходит много ресурсоемких операций, закрытие смены, печать документов, различные расчеты и прочее. В 21 час по МСК закрывается больше всего магазинов, поэтому и пик в это время наиболее длительный и высокий. Жалоб от пользователей не поступает, но… как то не аккуратненько.

Для решения решил посмотреть, а что за запросы массово выполняются в период с 20:55 до 21:20. Надеюсь вы собираете технологический журнал, потому что если не собираете – я не знаю, как вы анализируете ваши проблемы. Длинные call у меня собираются этим куском ТЖ:

 

<log location="D:\TJ_logs\Long_1" history="25">
     <event>
          <eq property="name" value="DBMSSQL" />
          <gt property="duration" value="10000" />
     </event>
<event>

 

Дальше у нас есть некое самописное ПО которое парсит технологический журнал и аккуратно складывает данные в базу MS SQL. Есть множество обработок на 1С делающие аналогичное, просто у нас объемы, с которыми 1С не справляется, мы используем C#, причем на создание и оптимизацию разработчик потратил пару месяцев.

 

Делаем запрос к БД и смотрим, какой контекст выполнялся за указанный период дольше всего:

 

SELECT TOP 10 Context, sum(_duration)/1000000, count(*)

  FROM [1C_Log].[dbo].[TJ_Long_1]

  WHERE _event = 'DBMSSQL'

  AND _eventDate between '2019-06-10 20:55' and '2019-06-10 21:20'

  GROUP by Context

  ORDER by sum(_duration) DESC

 

Получаем такой результат.

 

Видим, что основное время SQL сервера уходит на первые две операции. Посмотрим на первый запрос, который выполняется в это время:

 

контекст:

 

  SELECT top 1 sql

  FROM [1C_Log].[dbo].[TJ_Long_1]

  WHERE context = 'Форма.Вызов : Обработка.ЗакрытиеДня.Форма.Форма.Модуль.ЗакрытьСобытияНаСервереОбработка.ЗакрытиеДня.Форма.Форма.Форма : 659 : СистемаИнформирования.ОтметитьВыполненностьСобытийСистемыИнформирования(ЗакрываемоеПодразделение); ОбщийМодуль.СистемаИнформирования.Модуль : 507 : РезультатЗапроса = Запрос.Выполнить();'

  AND _eventDate between '2019-06-10 20:55' and '2019-06-10 21:20'

 

Результат:

 

INSERT INTO #tt390 WITH(TABLOCK) (_Q_000_F_000, _Q_000_F_001, _Q_000_F_002RRef, _Q_000_F_003RRef, _Q_000_F_004_TYPE, _Q_000_F_004_RTRef, _Q_000_F_004_RRRef) SELECTMAX(T1._Fld24158),MAX(T1._Fld24162),T1._Fld24159RRef,T1._Fld24160RRef,T1._Fld24161_TYPE,T1._Fld24161_RTRef,T1._Fld24161_RRRefFROM dbo._InfoRg24157 T1WHERE ((T1._Fld26199 = ? AND T1._Fld773 = ?)) AND ((T1._Fld24159RRef = ?))GROUP BY T1._Fld24159RRef,T1._Fld24160RRef,T1._Fld24161_TYPE,T1._Fld24161_RTRef,T1._Fld24161_RRRefp_0: 0Np_1: 0Np_2: 0x80FA5CB9019038F011E7EAD0A1C5BCF8

 

Вставка во временную таблицу. Выделяем отсюда запрос

 

SELECT

MAX(T1._Fld24158),MAX(T1._Fld24162),T1._Fld24159RRef,T1._Fld24160RRef,

T1._Fld24161_TYPE,T1._Fld24161_RTRef,T1._Fld24161_RRRef

FROM dbo._InfoRg24157 T1

WHERE ((T1._Fld26199 = 0 AND T1._Fld773 = 0))

AND ((T1._Fld24159RRef = 0x80FA5CB9019038F011E7EAD0A1C5BCF8))

GROUP BY T1._Fld24159RRef,T1._Fld24160RRef,T1._Fld24161_TYPE,T1._Fld24161_RTRef,T1._Fld24161_RRRef

 

И выполняем его.

 

Видим, что время выполнения составляет 54 секунды. Как-то многовато. А сколько в таблице записей?

 

 

Многовато. Дальнейший анализ показал, что в данный регистр сведений каждый месяц записывается порядка 50 млн записей. Заведен дефект, чтобы бизнес-аналитики проанализировали необходимость такого количества записей в регистре, а мы пока попробуем временно решить проблему, пока не будет целевого решения.

 

Посмотрим на план запроса и на индекс, который нам предложит Management Studio

 

CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]

ON [dbo].[_InfoRg24157] ([_Fld24159RRef],[_Fld26199],[_Fld773])

INCLUDE ([_Fld24158],[_Fld24160RRef],[_Fld24161_TYPE],[_Fld24161_RTRef],[_Fld24161_RRRef],[_Fld24162])

 

Ну в принципе необходимость этого индекса мы могли бы предсказать и без помощи SQL, просто посмотрев на запрос и имеющиеся индексы, но так же проще J

ОК, немного упрощаем запрос, пишем:

 

CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]

ON [dbo].[_InfoRg24157] ([_Fld24159RRef])

INCLUDE ([_Fld24158],[_Fld24160RRef],[_Fld24161_TYPE],[_Fld24161_RTRef],[_Fld24161_RRRef],[_Fld24162])

WITH (ONLINE = ON)

 

Два поля мы убрали из индекса так как это общие реквизиты, у нас в базе они не используются (достались от типовой) и всегда равны 0.

Ну а ONLINE = ON нужно чтобы при построении индекса пользователи могли продолжать работу.

Итак, строим индекс, время на построение на продуктивной системе ушло 2.5 часа.

Результат нагрузки на SQL.

 

 И выделим покрупней 21-ый час.

 

 

 

Видно, что нагрузка ушла. В Long данный контекст так же ушел из ТОП-10.

Задача решена.

Оптимизация Администрирование

См. также

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

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

24.06.2024    5322    ivanov660    12    

56

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

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

06.06.2024    9479    Evg-Lylyk    61    

44

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

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

13.03.2024    5193    spyke    28    

49

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

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

13.03.2024    7721    vasilev2015    20    

42

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

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

2 стартмани

15.02.2024    12612    251    ZAOSTG    83    

115

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

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

1 стартмани

24.01.2024    5797    glassman    18    

41

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

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

09.01.2024    14599    doom2good    49    

71
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2329 13.06.19 15:52 Сейчас в теме
Отличная статья.
Вы упомянули о собственном парсере технологического журнала на C#, было бы интересно посмотреть.
Если есть возможность включите это в следующую статью.
WellMaster; letarch; cleaner_it; Inziya; EliasShy; dmurk; collider; Gang031; +8 Ответить
5. Repich 564 13.06.19 17:04 Сейчас в теме
(1) немного об этом я буду рассказывать на Инфостарт-евенте, думаю уже после выступления смогу что-то опубликовать.
letarch; cleaner_it; Shmell; toypaul; +4 Ответить
2. Dream_kz 129 13.06.19 16:28 Сейчас в теме
Вооо, годнота подъехала, ждем еще
letarch; Gang031; +2 Ответить
3. ВикторП 350 13.06.19 16:58 Сейчас в теме
Создание индекса не средствами платформы - это ...
Andreeei; +1 Ответить
4. Repich 564 13.06.19 17:03 Сейчас в теме
(3) Нарушение лицензионной политики, однако наш Sla с бизнесом таков, что просто так 30 минут простоя на создания индекса никто не даст, а динамически мне кажется платформа индекс создать не сможет. Хотя надо проверить. Когда будет согласованное "окно" - свой индекс удалю и появится созданный средствами платформы.
6. starik-2005 3090 13.06.19 17:34 Сейчас в теме
(4)
Нарушение лицензионной политики
Нарушение чревато только тем, что 1С не гарантирует работоспособность своего ядра с вашими данными. На это можно положить прибор, ибо я сколько в 1С о чем ни жаловался - толку НОЛЬ. Они и без нарушения ЛС не смогут помочь - зарегят инцидент и лет через сто может быть что-то родят, а уж при нарушении даже и обратиться к ним нелья, чтобы они инцидент зарегили. А если нет разницы, то зачем платить больше? (с)
o.nikolaev; Andreeei; WellMaster; vvh74; Aggressorak; shard; Dozkni; GeraltSnow; YPermitin; denacid; Shmell; zqzq; Захаров_Николай; kdc; Fox-trot; collider; +16 Ответить
8. Repich 564 13.06.19 17:35 Сейчас в теме
(6) Нам попроще, у нас два проекта с ЦКТП и участие в бета-тестировании платформы.
9. starik-2005 3090 13.06.19 17:38 Сейчас в теме
(8)
и участие в бета-тестировании платформы
Сомнительный бонус от 1С)))
o.nikolaev; Andreeei; +2 Ответить
48. acanta 14.06.19 22:21 Сейчас в теме
(9) на крупных проектах без такого статуса многие просто бы не взялись внедрять 1с. И это единственное конкурентное преимущество отечественной платформы.
29. toypaul 63 14.06.19 10:53 Сейчас в теме
(4) сможет ли платформа сделать индекс онлайн - вот в чем вопрос ...
76. Repich 564 15.06.19 20:06 Сейчас в теме
(29) Нет. Не сможет. Есть обходное решение, но оно костыльное, через копию регистра.
7. starik-2005 3090 13.06.19 17:35 Сейчас в теме
(3) если на ИТС есть что-то, что описывает создание индекса не средствами платформы, значит создавать индекс не средствами платформы можно. А на ИТС много чего такого есть, так что не факт, что это нарушение.

ЗЫ: да и зная 1С и ее тормознутость обращать внимание на этот пункт вообще смысла не имеет, ибо одна реструктуризация чуть-немного-большой таблички средствами платформы (такими, как запрос в цикле, результатом которого и является эта процедура реструктуризации) занимает бесконечное время процессора (квадриллионы инструкций).
26. BabySG 14.06.19 10:18 Сейчас в теме
(7) во второй версии это уже не так
27. Repich 564 14.06.19 10:21 Сейчас в теме
(26) Кстати да, новый формат реструктуризации как луч света был когда мы начали его использовать. Теперь обновление обычно выполняется за 5 минут, иногда доходит до 20.
30. toypaul 63 14.06.19 10:54 Сейчас в теме
(27) что за новый формат реструктуризации - можно ссылку?
31. Repich 564 14.06.19 10:55 Сейчас в теме
10. starik-2005 3090 13.06.19 17:45 Сейчас в теме
По тексту, то мое ИМХО в том, что достаточно было бы индекса по одному полю: "_Fld24159RRef", ибо по нему фильтруется таблица. А для агрегации все-равно собирается хеш-таблица, построение которой от индекса не зависит.

ЗЫ: ну и выпилить из самого запроса эти нулевые поля.
11. A1WEB 59 13.06.19 19:55 Сейчас в теме
База ~4 Тб, 6 app серверов, 2 MS SQL сервера объединенных в AlwaysOn, сильно переписанная УТ 11.3.

Учитывая тормознутость современных типовых решений, боюсь даже представить себе цены на железо и лицензии, чтоб типовая конфигурация УТ 11.4 работала с приемлемой скоростью, хотя бы в части выписки и печати первички.
letarch; Repich; +2 Ответить
12. Repich 564 13.06.19 20:33 Сейчас в теме
(11) Согласен. Это издержки попыток сделать универсальное решение. Тут случайно наткнулись, что у нас при выписке заказа каждый раз выполняется запрос на частоту использования реквизитов только для того, чтобы подставить в поля наиболее используемые реквизиты. Конечно кто-то будет пищать от такого решения, но блин, +20 секунд к вводу документа это перебор.
13. A1WEB 59 13.06.19 20:47 Сейчас в теме
(12) Да, знакомо все это. Этот функционал называется заполнение объектов по статистике. Функциональной опцией не отключить, необходимо ставить заглушку в ЗаполнениеСвойствПоСтатистикеПереопределяемый.ПриОпределенииЗначенияРеквизитаПоСтатистике(): СтандартнаяОбработка = Ложь;

Я это очень хорошо изучил и могу привести ещё десятка два подобных примеров из УТ 11, но в этом нет никакого смысла. Мы отказались от внедрения УТ 11.4 в пользу УТ 10.3. При всем уважении, толстый клиент 10.3 кратно производительнее тонкого 11.4. Уверен, 11.4 - это тупик.
WellMaster; DoReMi; volokitinac; RustIG; Robbi; Ziggurat; toypaul; mickey.1cx; ildary; EliasShy; dmurk; +11 Ответить
18. muskul 14.06.19 03:12 Сейчас в теме
20. A1WEB 59 14.06.19 03:21 Сейчас в теме
Ну, автор в принципе всё написал, хотите уменьшить время открытия формы при создании новых документов на 20 секунд - отключите заполнение объектов по частотной статистике. К сожалению, 1с сочло время 20 секунд на каждом новом документе не существенным, и поэтому не предоставила функциональной опции для его отключения.
Отключить можно в переопределяемом модуле как я написал выше.
25. ildary 21 14.06.19 10:10 Сейчас в теме
(13) Приведите пожалуйста прочие примеры, помогите тем, кто на УТ11 перешёл и не смог найти затыки сам.
28. A1WEB 59 14.06.19 10:34 Сейчас в теме
(25) Думаю, коллеги меня поддержат, это тема для отдельной очень грустной статьи. Ну навскидку, пример номер два:
ПродажиСервер.ПолучитьОтветственногоПоСкладу() - вызывается при инициализации реализации и заполняет необязательный реквизит Отпустил и ОтпустилДолжность примерными значениями.
ВЫБРАТЬ ПЕРВЫЕ 1
РеализацияТоваровУслуг.Отпустил,
РеализацияТоваровУслуг.ОтпустилДолжность
ИЗ
Документ.РеализацияТоваровУслуг
...
...
УПОРЯДОЧИТЬ ПО
РеализацияТоваровУслуг.МоментВремени УБЫВ
Показать

Как вы думаете, что будет если у вас хотя бы 250 тыс. реализаций в год?
DoReMi; volokitinac; RustIG; Robbi; ildary; +5 Ответить
34. RustIG 1749 14.06.19 17:23 Сейчас в теме
(13) Напишите статью об этом. Многие внедренцы и клиенты не знают о нюансах. Все попадаются на крючок той программы, за которые уплачены деньги....
14. dmurk 13.06.19 21:01 Сейчас в теме
Мы сидим на УТ 10.3 с 2011-го, Рассматривали релизы УТ 11.2, 11.3, 11.4. Пока всё ещё говорим им нет.
RustIG; A1WEB; +2 Ответить
15. script 128 13.06.19 22:24 Сейчас в теме
Помню как неделю переводил форму путевого листа с обычной формы на управляемую. Причем 4 дня добивался нормального выравнивания полей, и нормальной работы при изменении размеров формы. Помню сколько тогда психовал, потому что обычную форму набрал бы на пару часов. Думал хуже уже быть не может. Но потом я наткнулся на необходимость выдать вопрос пользователю при записи в форме, и тогда, я думаю, что заглянул в потусторонний мир.
16. starik-2005 3090 13.06.19 22:51 Сейчас в теме
(15) вот так описывается проблема взросления программиста, впервые столкнувшегося с управляемой формой и асинхронностью)))
Andreeei; terra_inc; user633533_encantado; Anchoret; Flextor74; bulpi; Aleskey_K; Waanneek; dbarkov; +9 Ответить
17. o.nikolaev 216 13.06.19 23:11 Сейчас в теме
Отличная статья! Ждем продолжения!
19. muskul 14.06.19 03:16 Сейчас в теме
Если поняли причину а именно что это происходит при закрытие смены то почему сразу не начать смотреть что же в этом закрытие такого тормозного?
21. Repich 564 14.06.19 08:07 Сейчас в теме
(19) Не очень понял вопрос. Именно это и сделали. Или вы имеете в виду - почему не начали смотреть 1С-ный код?
22. muskul 14.06.19 08:22 Сейчас в теме
(21)Да, то есть ошибка в 21-00 что все делают понятно, закрывают смены. Зачем лесть в ТЖ, план запросов и т.д. а сразу не пробежатся замером времени по закрытию. Или таким образом не увидели бы проблему?
23. Repich 564 14.06.19 10:03 Сейчас в теме
(22) Там выполняется огромное количество операций, отправка документов в систему документооборота, допроведение пробитых чеков, сверка данных 1С и ФР и еще десяток разных процессов. Несомненно можно было отдать проблему разработчикам на анализ, но он занял бы несколько дней. Даже просто чтобы подготовить базу для выполнения замера (на проде замер не сделаешь, только на копии) ушло бы примерно 8 часов.
RustIG; toypaul; mickey.1cx; +3 Ответить
24. muskul 14.06.19 10:05 Сейчас в теме
(23)Понятно, все дело в масштабах.
32. Painted 49 14.06.19 16:23 Сейчас в теме
я не знаю, как вы анализируете ваши проблемы

1. Profiler
2. sys.dm_exec_query_stats
3. Extended events
33. bulpi 217 14.06.19 17:13 Сейчас в теме
Люди! Вот вы тратите огромные усилия, время, и деньги, чтобы сделать что-то съедобное из такого говна, как УТ 11. А вам не приходило в голову потратить примерно в 10 раз меньше усилий на написание своей толковой конфигурации, и дальше жить спокойно, не зная о половине проблем , которые вы так героически решаете ,. вообще ничего ?
HomeInc; DoReMi; ZOMI; Yashazz; +4 Ответить
35. RustIG 1749 14.06.19 17:29 Сейчас в теме
(33) идея здравая, Булпи, уж очень часто вы ее повторяете, и особенно , как вы не любите ут 11. :)
38. Yashazz 4794 14.06.19 21:15 Сейчас в теме
(35) Да правильно повторяет. Типовые конфы, особенно с управляемым интерфейсом, жутчайшие жадные тормоза, где в жертву "вау-интерфейсу" и бантикам принесено практически всё. Архитектурно это тихий ужас. С точки зрения кода, его оптимальности, изменяемости, да просто структурированности - тоже. Поэтому только так - писать свою и затачивать конструкции данных сразу под конкретные задачи, а не пытаться превратить люксовый капризный лимузин в суровый надёжный джип.
HomeInc; A1WEB; DoReMi; bulpi; ZOMI; RustIG; +6 Ответить
43. RustIG 1749 14.06.19 21:58 Сейчас в теме
(38) согласен с вами. в этом мы едины.
37. Repich 564 14.06.19 17:40 Сейчас в теме
(33) Хм, я вообще нигде не написал, что решаю проблемы связанные с типовой. 99% решаемых проблем к типовому функционалу не относится никак.
40. TODD22 19 14.06.19 21:25 Сейчас в теме
(33)
А вам не приходило в голову потратить примерно в 10 раз меньше усилий на написание своей толковой конфигурации

Можно пример самописной толковой конфигурации по функциональности сопоставимой с УТ 11?
Сколько видел "сейчас мы сами напишем", выглядело это ещё хуже чем дописанная УТ11. И по функциональности как то проигрывало.
AlX0id; Andreeei; +2 Ответить
46. RustIG 1749 14.06.19 22:05 Сейчас в теме
(40) многие организации из типовой ут 11 используют 5% функционала, для них можно было бы самописку разработать, только кто будет программировать за 22600р? это стоимость ут 11.
65. bulpi 217 15.06.19 11:37 Сейчас в теме
(46)
Таки есть :) Я реально такое делал.
66. RustIG 1749 15.06.19 17:03 Сейчас в теме
(65) почему вы не пишите статьи? делитесь знаниями! а то весь опыт с вами и останется по итогу карьеры. сделайте мир 1с-ников лучше!
68. acanta 15.06.19 17:49 Сейчас в теме
(66)Имхо, статьи нужны в начале карьеры для того чтобы облегчить продвижение и выстроить репутацию.
В конце карьеры можно найти массу более полезных способов потратить время и накопленный опыт, чем написание статей за стартмани.
70. RustIG 1749 15.06.19 19:26 Сейчас в теме
(68) я начинал писать статьи еще тогда, когда стартмани не были введены в оборот... моя мотивация отнюдь не
(68)
написание статей за стартмани
:(
69. acanta 15.06.19 18:28 Сейчас в теме
(66) Рустем, а что вам не нравится сейчас в мире 1с-ников?
71. RustIG 1749 15.06.19 19:30 Сейчас в теме
(69)
(66)
сделайте мир 1с-ников лучше!


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

по итогу, Инфостарт выручает по многим вопросам - некоторые задачи решаются быстрее обычного...
72. acanta 15.06.19 19:39 Сейчас в теме
(71) какие области знаний в 1с - новые?
Будете ли вы теперь писать статьи за стартмани?
Или вас демотивировала такая форма оплаты за ваше творчество?
73. RustIG 1749 15.06.19 19:45 Сейчас в теме
(72) "новые" для меня - те, которых я не касался еще.
у каждого своя наработанная компетенция. значит, нет опыта в других областях 1С.

лично про меня - я не знаю мобильную платформу, json, многие типовые конфигурации не внедрял, разработкой на УФ не занимался...
74. RustIG 1749 15.06.19 19:52 Сейчас в теме
(72)
Будете ли вы теперь писать статьи за стартмани?

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

плюс, порой я вижу как сложно мыслят и программируют некоторые программисты, хочется поделиться своим видением.
75. acanta 15.06.19 19:54 Сейчас в теме
(74) а почему они сложно мыслят и программируют, как вы считаете?
80. RustIG 1749 16.06.19 00:13 Сейчас в теме
(75) люди - разные, характеры - разные, опыт, уровень базовых знаний, учителя разные были, разное желание и возможности изучать новое, углублять знания, технологии развиваются быстрее, чем мы успеваем это осознать... в общем-то, эта дискуссия из другой ветки...
90. qwinter 683 17.06.19 09:05 Сейчас в теме
(75) это локальное проявление фундаментального закона стремления природы к хаосу. Чем проще, тем больше порядка, а упорядочивать вселенную всегда сложно.
77. bulpi 217 15.06.19 23:13 Сейчас в теме
(66)
Я пишу статьи в том случае, если в моем знании есть некоторая универсальность. Какой смысл в статье о том, как я круто описал учет какой-то очень конкретной частной фирмы ?
61. Yashazz 4794 15.06.19 00:14 Сейчас в теме
(40) Насчёт УТ 11 не скажу, а УТ 10.3 и многие плюшки 11-й - есть и неплохо работает. Если что, велкам в личку.
64. bulpi 217 15.06.19 11:36 Сейчас в теме
(40)
самописной толковой конфигурации по функциональности сопоставимой с УТ 11


Такой нет :) А почему ? Да потому, что не нужно. Десятки более простых есть (ну, десятки - это если считать еще с версии 7.7), а такой нет. И не будет. Потому, что для решения конкретной бизнес-задачи такой монстр в принципе не нужен. Я Вам открою страшную тайну : типовые конфигурации пишутся не с целью создать классное ПО , и не с целью удовлетворить клиентов. А с целью срубить как можно больше бабла. Помните об этом, и Вам многое станет ясно.
67. acanta 15.06.19 17:32 Сейчас в теме
(64) не могли бы вы рассказать что именно включается в стоимость обслуживания или внедрения типовых конфигураций.
78. bulpi 217 15.06.19 23:14 Сейчас в теме
(67)
Это вопрос не сюда. А в фирму франчайзи. У них есть какие-то более-менее формальные расценки. Я беру "с потолка" - за сколько мне было бы не лень это сделать :)
79. acanta 15.06.19 23:32 Сейчас в теме
(78) но ваши клиенты в курсе, что они имеют право по условию подписки на диск ИТС получить бесплатную консультацию 1или 2часа в месяц от фирмы франчайзи, которая осуществляет подписку на ИТС?
Зачем вообще по вашему мнению, как фрилансера или фикси выполнять привязку продажи 1с лицензий и итс к какой-либо фирме-франчайзи?
83. bulpi 217 16.06.19 10:58 Сейчас в теме
(79)
Снова вопрос не ко мне.
1)Если конфигурация самописаная, то при чем тут франчайзи?
2)Если типовая, то 1- 2 часа - это вообще ничто. И подписка всего 3 месяца.
36. RustIG 1749 14.06.19 17:30 Сейчас в теме
(0)
сильно переписанная УТ 11.3

выделите крупно и жирно
39. Yashazz 4794 14.06.19 21:19 Сейчас в теме
Я другого не понимаю. Откуда столько восторга от публикации, где а) описываются известные опубликованные ранее общие приёмы анализа, б) упоминается некое не-общедоступное самописное ПО не-1С, в) предложенное решение узкое, частное и временное, и не средствами 1С.

Чего нового и хорошего в этой статье, а?

Ну давайте я вам расскажу, как закрытие бух.периода убыстрил с полутора часов до семи минут. Написав 4 символа. Давайте? А мне за это более 200 плюсов?)) Оптимизация, тыкскзть!
DimaP; RustIG; +2 Ответить
41. Repich 564 14.06.19 21:45 Сейчас в теме
(39) Хотите расскажу о том, что когда в каталоге временных файлов более 2 миллионов объектов платформа начинает тормозить, но дело совсем не в платформе? Хотя зачем, это все уже давно опубликовано, просто надо знать где искать.
acanta; RustIG; +2 Ответить
42. Yashazz 4794 14.06.19 21:51 Сейчас в теме
(41) Знаю, сталкивался. Это и сама винда начинает тормозить. Вы лучше объясните мне, какая прикладная польза с вашей публикации. Пока я вижу лишь одну - подтверждение мысли, что нефиг связываться с типовыми конфами, пусть сто раз переделанными. Ну и что если нельзя нарушать лицензионное соглашение, но очень надо, то можно - как ещё Богачёв во время оно рассказывал про "Деловые линии", и что скуль знать надо помимо 1С. А ещё?
44. Repich 564 14.06.19 22:01 Сейчас в теме
(42) Я не понимаю зачем народ зацепился про типовые. Я строил индекс на нетиповой регистр. И повторяю еще раз - 99% моей работы - исправление говнокода или говноархитектуры внутренних разработчиков. Это не значит, что они плохие, просто не все понимают, как их решение будет работать на 600 транзакциях в минуту.
Нарушение лицензионного соглашения очень спорный вопрос, так как например смотрите:
У меня два сервера в AlwaysOn. Один из серверов подключен к app серверу. Я строю индекс на второй, неактивной ноде и он появляется на основной базе. Является ли это нарушением с точки зрения лицензионной политики? Я задавал данный вопрос в 1С, ответ не получил, а наставить не стал.
Основных причин три:
1. Сохранить информацию на память для себя.
2. Показать своим сотрудникам, что именно делается на продуктиве и какими средствами.
3. Показать людям, которые еще не умеют это делать, показать, что это не сложно и принудить к изучению нового. Показать, что 1С это не только код, но и инфраструктура.
Wdivine; serge_focus; assorty; RustIG; +4 Ответить
47. RustIG 1749 14.06.19 22:09 Сейчас в теме
(41) на ИС есть опытные , а есть еще не опытные. Плюсы ставят не опытные. Спорите вы с опытными. В общем, близко к сердцу не принимайте критику. Польза все-таки есть - каждый для себя ее определяет по своему...
49. Repich 564 14.06.19 22:21 Сейчас в теме
(47) Я пока не увидел аргументированного спора у опытных. Поэтому давайте или спорить аргументированно либо не спорить совсем. Пока я вижу только фразы вида "зачем вы здесь это написали, это никому не нужно", которые ни аргументами ни критикой не считаю.
И да, я так понимаю, что тут принято поклоняться плюсикам? Не очень понимаю смысл этого, за плюсиками не гонюсь, что на них покупать не знаю.
EasyWay; Fox-trot; +2 Ответить
50. A1WEB 59 14.06.19 22:25 Сейчас в теме
(49) Кому-то стало жалко плюсиков.
Статья хорошая, спасибо автору за труд.
51. starik-2005 3090 14.06.19 22:40 Сейчас в теме
(49) 50 плюсиков = 30 стартманей.
letarch; acanta; +2 Ответить
52. A1WEB 59 14.06.19 22:44 Сейчас в теме
(51) Сейчас начнется торговля плюсиками за возврат)))
54. acanta 14.06.19 22:46 Сейчас в теме
(52)теперь надо как в кинорейтингах. Сколько плюсиков публикация насобирала в первые две недели проката и сколько всего.
53. Repich 564 14.06.19 22:45 Сейчас в теме
(51) И чего с ними делать? Конвертировать в рубли? Тратить несколько часов личной жизни чтобы с некоторой вероятностью заработать 2500 рублей? Сомнительное удовольствие.
57. RustIG 1749 14.06.19 23:36 Сейчас в теме
(49) говорю же, не принимайте близко к сердцу
пишите еще, если есть чем делиться, жду Историю 2, Историю 3 ....
59. RustIG 1749 14.06.19 23:41 Сейчас в теме
(49) иногда публикация дает повод для диалога - и тогда в комментариях дополнительно возникает польза от общения
63. Yashazz 4794 15.06.19 00:24 Сейчас в теме
(47) Плюсы, походу, инстинктивно ставят действительно неопытные, на которых фразы навроде "тонкости разделяемых блокировок" или "уровни изоляции", или там "оптимизация кластерного индекса" оказывают магическое и гипнотическое действие. Непонятно что, неясно нафига, очевидно не для всех, но ооочень круто. А реально - бывает разное, от правда толковых статей (как вот https://infostart.ru/public/1003601/ допустим) до всяких дневничковых записей вроде этой.
45. RustIG 1749 14.06.19 22:02 Сейчас в теме
(39) я периодически стараюсь вставить свои 5 копеек, когда пишу под такими публикациями - что надо начинать с кода, с общения с пользователями, с замера производительности ....
62. Yashazz 4794 15.06.19 00:20 Сейчас в теме
(45) Вот да, иногда безо всяких профайлеров и даже, пардон за ересь, при выключенном ТЖ, хватает банального замера производительности и внимательного курения кода и запросов.

А насчёт пользы от статьи - я так и не проникся.
1. Если для себя и на память, то, может, не стоит превращать ИС в личный бложик?
2. А завтра вы ИС будете использовать как площадку обучения своих юзеров?
3. Пока что вы показали несколько скриншотов и решение одного очень узкого кейса. Желающим реально познавать - для начала Филиппова в руки и айда.
89. Sergey.Noskov 1406 17.06.19 00:29 Сейчас в теме
92. Painted 49 17.06.19 11:08 Сейчас в теме
(39)
А мне за это более 200 плюсов?))
Рэперы собирают стадионы, а оперные певцы камерные залы. Так всегда и было и будет. Вас же не удивляет популярность публикаций из справки 1С.
Я уже давно привык и вам советую.
95. Yashazz 4794 17.06.19 11:10 Сейчас в теме
(92) Честно? Не просто удивляет, а бесит. Или когда публичный общедоступный ИТС репостят, или "зазеркалье". Происходит замусоривание целевого предметного ресурса, и это снижает его полезность. Или я неправ?
96. Painted 49 17.06.19 11:19 Сейчас в теме
(95) Правы, но не стоит так переживать.
"Разумный человек приспосабливается к миру..."
98. VmvLer 17.06.19 12:10 Сейчас в теме
(95) Вы неправы в том, что в этой теме от вас слишком много чернухи.
Вы напомнили мне не профессионального специалиста, а "сварливую бабу".

Хватит ныть, согласен с (97)
Sergey.Noskov; +1 Ответить
55. SlavaKron 14.06.19 23:00 Сейчас в теме
Форма.Вызов : Обработка.ЗакрытиеДня.Форма.Форма.Модуль.ЗакрытьСобытияНаСервереОбработка.ЗакрытиеДня.Форма.Форма.Форма : 659 : СистемаИнформирования.ОтметитьВыполненностьСобытийСистемыИнформирования(ЗакрываемоеПодразделение); ОбщийМодуль.СистемаИнформирования.Модуль : 507 : РезультатЗапроса = Запрос.Выполнить();

Интересно, что ответят ваши 1С-ники. Может там вообще можно отказаться от такого запроса, провести "умную" ручную оптимизацию и индексы не пришлось бы менять.
56. Repich 564 14.06.19 23:17 Сейчас в теме
(55) Предварительный результат - нужно не отмечать запись как "Выполненную", а удалять ее. Таким образом количество строк в регистре сократится тысяч до 100.
Важно(!) Отказаться от запроса - значит взять задачу в спринт, проставить ей приоритет и потом выпустить в релизе. Это от 2 недель до 3 месяцев. Мне же хотелось результат здесь и сейчас.
58. RustIG 1749 14.06.19 23:39 Сейчас в теме
(56)
в спринт, проставить ей приоритет и потом выпустить в релизе. Это от 2 недель до 3 месяцев

по какой системе управляете?
на какой программе учет задач ведете?
релиз через 3 месяца - людей не хватает?
60. Repich 564 14.06.19 23:45 Сейчас в теме
(58)
1. Scrum, не канонический, но какой уж получился. Всех устраивает пока.
2. TFS+Jira.
3. Их всегда не хватает, но в данном случае просто задача не приоритетная. Жалоб от пользователей нет, значит нет инцидентов. Нет инцидентов - задача без дополнительных пинков с моей стороны как релиз-менеджера уйдет в самый низ списка.
81. PerlAmutor 155 16.06.19 09:36 Сейчас в теме
Недавно начал писать свою процедуру в MSSQL. Объемы данных таковы, что 1С или сторонние приложения их просто не обработают за приемлемое время. Первые версии процедуры отрабатывали примерно за 2 часа. Но мне это показалось много и я решил посмотреть план запросов и сделать все по феншую оптимизации. По рекомендациям студии и глядя на не оптимальные планы запросов я добавил индексы и статистики. Время выполнения процедуры стало занимать 5 часов, планы запросов преобразились, стали красивыми, больше никаких рекомендаций от стадии я не получал. Игрался с набором индексов, их составом, кластерностью, некластерностью, временем их создания (до вставки или после).

После недельной битвы удалил все, что было связано с индексами и статистиками по полям из процедуры. Время выполнения процедуры стало 1.5 часа. Планы запросов ужасны, студия ругается, но главное время выполнения процедуры стало предсказуемым, стабильным и приемлемым.
82. Yashazz 4794 16.06.19 10:24 Сейчас в теме
Так я всё ж не понял, какова для посетителей ИС польза от вашего рассказа? Какие выводы? Имхо - совершенно нулевая и никаких.

и кстати реально интересно, что думает администрация и модераторы ИС на тему чуть ли не пропаганды нарушения лицензионных соглашений.
84. Repich 564 16.06.19 13:04 Сейчас в теме
(82) А можете рассказать про свою мотивацию при чтении абсолютно бесполезной статьи и дальнейшем ее комментировании? Мне действительно интересно - зачем? Я вот например просмотрел список ваших работ, но у меня даже мыслей не было зайти и оставить комментарий - "никому не нужны ваши поделки, которые нормальный программист сделает за вечер, да еще и деньги за это платить", потому что понимаю - что это не так. А у вас какая мотивация?
d4rkmesa; +1 Ответить
85. acanta 16.06.19 13:13 Сейчас в теме
(84) вероятно для того чтобы вы задумались об этом.
Нет дыма без огня.
Видите ли, есть люди, у которых "караван идёт со скоростью хромой лошади", а есть люди у которых "семеро одного не ждут".
Имхо, все подобные высказывания появляются когда очередная хромая лошадь ошиблась и вместо каравана попала в команду спринтеров.
Но тут как вы понимаете вопрос в ценности груза и самой возможности замены, а не в хорошем отношении к лошадям.
Сколько стоит день простоя на вашем предприятии?
Каков конкурс на вакансию для такого специалиста?
86. Repich 564 16.06.19 13:24 Сейчас в теме
(85) Ничего не понял, можете без экивоков и странных аналогий? Я что ли хромая лошадь которая ошиблась?

День простоя стоит дорого. Я думаю миллиарды долларов, если мы говорим про все предприятие в целом.
О вакансии какого специалисты вы говорите?
eeeio; acanta; +2 Ответить
87. acanta 16.06.19 16:42 Сейчас в теме
(86) Вы не считаете, что публикация серии таких рассказов способна вырастить множество специалистов, которые станут со временем вашими конкурентами (если я правильно понимаю вопрос в (82)).
Хромых у нас хватает.. у нас не хватает практики в задачах по оптимизации.
Так хоть почитаем (хотя это направление возможно для инфостарта как магазина разработок не выгодно, вы предлагаете не разработку, а ноу-хау).
88. Repich 564 16.06.19 19:07 Сейчас в теме
(87) Я вижу в (82) негодование, что статья совершенно бесполезна и неприменима.
Конкуренции не боюсь, описанное выше - не основная моя функция на текущем рабочем месте.
94. Yashazz 4794 17.06.19 11:09 Сейчас в теме
(87) Ладно бы человек предлагал годное ноу-хау, так ведь это одна правка "по месту" в одном конкретном случае, и не средствами 1С. Ну вот смысл?
103. TODD22 19 18.06.19 13:29 Сейчас в теме
(86)
Я думаю миллиарды долларов, если мы говорим про все предприятие в целом.

Вчера где то читал что Huawei оценили убытки от санкций США в 35 млрд долларов в год. Боюсь даже спросить что у вас за предприятие если у вас убытки миллиарды долларов за день простоя.
109. Repich 564 18.06.19 14:15 Сейчас в теме
(103) Да, пожалуй с ноликом ошибся. Очень грубо на NASDAQ компания стоит $3 млрд, падение на целый день я думаю обрушит акции процентов на 5.
93. Yashazz 4794 17.06.19 11:08 Сейчас в теме
(84) Я ж объяснил - ваш-то опыт никто применить не сможет, слишком узкий кейс. Мои поделки всё-таки более широкой применимости. Я искренне недоумеваю, зачем такое публиковать; это действительно сродни рассказам быличек у костра из серии "а вот был у меня случай". У каждого таких случаев множество, зачем их делать как статью?
97. RustIG 1749 17.06.19 11:25 Сейчас в теме
(93) у автора История-1. будут еще История-2 и История-3... пож-та, не отбивайте желание писать статьи...
Оставьте свое сообщение