Главная · Windows 10 · Пирамидный оптимизатор для 1 с. Что является результатом работ

Пирамидный оптимизатор для 1 с. Что является результатом работ

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

Сначао определимся, что же такое "оптимизация". Ниже только некоторые часто оперируемые составляющие оптимизации.

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

Вопросы надежности раскрыты в соседней страничке , здесь же поговорим о быстродействии.

На рисунке показано, как разные категории специалистов вкладываются в понятие "производительности". Причем сказать, что технический специалист более точен чем владелец бизнеса однозначно нельзя. Почему так происходит?

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

А между тем бывают следующие ситуации:

1. Проблемы производительности не локализованы в определенных бизнес-процессах, а «равномерно распределены» по всей функциональности системы. Все (или почти все) пользователи жалуются на недостаточную производительность системы, но не могут назвать одну конкретную операцию, производительность которой их не устраивает. Субъективная оценка формулирутеся так: «всё работает медленно».

2. В системе имеются четко локализованные проблемы производительности, которые не воспроизводятся на тестовой базе в однопользовательском режиме. Например, пользователи жалуются на недостаточную производительность документа «РеализацияТоваровУслуг», но при проведении этого документа в нерабочее время и/или на тестовой базе производительность оказывается в норме.

3. В системе имеется большое количество хорошо локализованных проблем производительности. Задача заключается в том, чтобы максимально быстро определить, с чего именно следует начинать оптимизацию системы. Необходимо обнаружить источник (или источники) всех имеющихся проблем и найти наиболее узкое место в системе.

4. Система запускается в рабочую эксплуатацию после существенного изменения условий работы системы:

  • изменилась конфигурация;
  • изменилась используемая версия 1С:Предприятия;
  • изменилась используемая СУБД;
  • изменилась конфигурация оборудования;
  • и т.п.
  • 5. На начальном этапе эксплуатации системы ее производительность была признана удовлетворительной, но по мере наполнения информационной базы производительность стала падать.

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

    7. Система стабильно работает с удовлетворительной производительностью. Необходимо гарантировать своевременную и точную диагностику проблем производительности в случае их возникновения.

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

    Источники проблем :

    «Неудовлетворительное» железо
    в момент наблюдаемых проблем серверное оборудование сильно загружено


    Отсутствие регламентных процедур для СУБД

    Не выполняется обновление индексов и статистики

    «Неоптимальный» код
    При написании кода ставилась только задача обеспечения функциональности без учета роста числа пользователей системы.

    Иногда что-то в программе может выполняться очень медленно. И тогда открытие документа или запись документа может длиться минуты или даже десятки минут.

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

    Лучший способ оптимизации 1С – взять мега эксперта, гуру, посадить его за компьютер и он быстро во всем разберется и все оптимизирует.

    Что делать если эксперта нет под рукой?

    Оптимизация 1С программы

    Согласно правилу: 20% программы выполняется 80% всего времени выполнения программы.

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

    Вместо этого для оптимизации 1С нужно найти те самые 20% кода, которые все портят и исправить именно их.

    Поиск события 1С

    Главная подготовительная задача в проведении оптимизации 1С – найти место в программе (то есть модуль, функцию), которая вызывает впечатление пользователя, что «это долго работает».

    Например, с точки зрения пользователя все просто – «это долго открывается». Но какая конкретная часть кода 1С выполняется при открытии?

    Вот здесь мы уже обсуждали структуру и . Соответственно при открытии формы выполняется обработчики события:

    • ПередОткрытием()
    • ПриОткрытии()

    При записи и проведении документа выполняются обработчики в модуле 1С документа:

    • ПередЗаписью()
    • ПриЗаписи()
    • ОбработчикПроведения()
    • ПослеЗаписи().

    Дополнительно могут вызываться обработчики подписок на события 1С, которые находятся в конфигурации в ветке Общие/Подписки на события.

    Начало процесса оптимизации 1С — отладка для поиска требуемого участка программы на языке 1С

    Вам необходимо определить нужное Вам событие, найти в модуле требуемую функцию-обработчик, в первой строчке функции обработчика и в последней строчке (то есть итого две точки останова).

    После этого заходим в режим Предприятие (подключенный к отладке) и выполняем те действия, которые мы считаем «медленными» и требуют отладки, на события которых мы установили точку останова.

    Если Вы правильно вычислили обработчик и установили точку останова, то выполнение программы остановится в начале функции.

    Теперь необходимо включить – замер времени выполнения. Для этого выберите пункт меню Отладка/Замер производительности. Данный пункт после нажатия будет отмечен как «нажатый» и более ничего не произойдет. Не смущайтесь – переключайтесь снова в режим Предприятие и продолжайте работу до тех пор, пока программа снова не остановится – теперь уже на второй точке останова, в конце функции обработчика события.

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

    После отключения замера времени откроется окно результатов.

    Продолжение оптимизации 1С — анализ участка кода 1С при помощи измерения времени выполнения

    Результаты измерения времени в отладчике показывают:

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

    Вы можете отсортировать строчки по времени выполнения или по количеству раз выполнения.

    Ваша цель для оптимизации 1С:

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

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

    Оптимизация 1С — эторяд мер для увеличения производительности информационной системы. Рассмотрим основные шаги для анализа ошибок производительности и увеличения скорости 1С 8.3 (8.2).

    Очень сложно оценивать производительность базы данных по ощущениям пользователей. Например, один пользователь говорит, что 1С «тормозит», второй говорит: «нормально» — ему нравятся перерывы на кофе. Эксперты в этой области стали искать выход из сложившейся ситуации — как объективно оценить качество эксплуатации информационной системы?

    Для этого была придумана методика цифровой оценки скорости системы — . С помощью этой методики можно объективно оценить скорость до оптимизации 1С и после.

    Проверка «железа»

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

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

    Мониторинг и анализ производительности 1С специальным софтом — ЦУП

    С помощью специальной разработки 1С — Центра управления производительностью для оптимизации 1С следует установить мониторинг на Вашу информационную систему.

    Результатом проверки производительности станут узкие места 1С по части производительности, которые послужат указаниями к действиям по оптимизации 1С.

    Почему мне нужно следить за чистотой моего ПК?

    Цены на покупку нового компьютера могут и упасть, но несколько небольших шагов по уходу за ПК помогут увеличить его жизнь. Таким образом, на данный момент вы можете сэкономить деньги. Даже совершенно новый компьютер может немало выиграть от оптимизации. Лишь то, что ПК новый, еще не означает, что он будет прекрасно работать. Многие компьютеры поставляются с чрезмерным количеством установленного программного обеспечения и программ в автозагрузке, которые можно быстро удалить для улучшения производительности. Надлежащая регулярная забота о компьютере - точно так же, как замена масла в вашем автомобиле - значительно повысит производительность Вашего ПК. Вот некоторые важные советы и приемы, для того чтобы помочь Вам наслаждаться своим компьютером по максимуму.

    Нижеизложенные инструкции подойдут пользователям Windows, в частности Windows XP, Windows Vista, Windows 7 и Windows 8 (в том числе 8.1).

    Как часто я должен очищать мой компьютер?

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

    1. Удалите программы, которые вы никогда не используете

    Ваш компьютер мог быть куплен с определенными установленными программами, которые вы не используете и которые не пригодятся. Это может быть установленное производителями программное обеспечение (такое как испытательные версии и программы, выпущенные ограниченным тиражом, которые по предположению компании-разработчика программного обеспечения вы попробуете, например, антивирусные программы, различные утилиты, программы от производителей компьютеров, таких как Dell, Vaio, Toshiba, Acer и т.д.), а также программное обеспечение, которое вы устанавливали сами, но не хотите использовать или в которых больше не нуждаетесь – например, утилиты, разработанные, чтобы помочь в управлении и настройке аппаратного и программного обеспечения компьютера, предыдущие антивирусные программы, и т.д.

    Вот простой способ вывести на экран список всех установленных на вашем ПК программ и удалить те из них, которые вам не нужны:

    2. Ограничьте количество программ, которые загружаются в память компьютера при запуске системы

    Многие программы разработаны таким образом, чтобы загружаться автоматически при запуске Windows. Некоторые из них покажут свой интерфейс сразу, как только загрузится система, другие покажут значок в зоне системных уведомлений, но есть также и программы, которые будут работать незаметно в фоновом режиме (например, программы для резервного копирования, настройки или средства синхронизации) о которых вы даже не будете знать.

    Все эти автоматически загружаемые программы могут делать запуск ПК более долгим, и, если они не закрыты после запуска, они к тому же продолжают использовать память и могут уменьшить производительность.

    По материалам интернет-портала . Перевод на русский язык: Александр Рябов

    Нашли опечатку? Выделите и нажмите Ctrl + Enter

    Отправить эту статью на мою почту

    Со временем многие пользователи 1С замечают, что система начинает работать медленнее и все чаще «глючит» даже при использовании типовых конфигураций «из коробки».

    Основные жалобы, отмечаемые пользователями:

    Стали медленно проводиться документы

    Отчеты слишком долго формируются

    Программа чаще зависает

    Знакомые жалобы, не так ли?

    Попробуем разобраться в основных факторах снижения быстродействия и найти решения.

    Устаревшее оборудование

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

    Для этого необходимо проверить требования к железу, предъявляемые 1С 8.3

    Это можно сделать на официальном сайте http://1c.ru/rus/products/1c/predpr/compat/hard/demand.htm

    Неактуальная платформа

    Некоторые пользователи не любят лишний раз обновлять конфигурацию, считая, что ранние версии работают стабильнее. Увы, такой консерватизм может сыграть во вред: разработчики регулярно обновляют платформу, исправляя ошибки в коде и оптимизируя механизмы, поэтому использование устаревшей версии (со значительным отставанием в релизах) может негативно сказаться на быстродействии.

    Низкая производительность сервера

    Увеличить работоспособность возможно редактированием настроек серверов SQL и 1С:Предприятие.

    Для этого в BIOS выключаем все опции по экономии питания процессора и устанавливаем производительность на максимум. Это удобно делать, например, через утилиту PowerSchemeEd.

    Сервисы, которые редко используются, желательно отключить. К таким службам можно отнести FullText Search и Integration Services

    Не забываем установить на максимум количество памяти, которое отведено серверу. Это требуется, чтобы SQL-сервер заранее успевал отчистить память, контролируя заполнение.

    Как вариант, возможно переключить службу 1С в режим отладки. Благодаря этому дополнительно увеличивается оптимизация 1С.

    Большая база данных

    По мере работы любая база со временем увеличивается в объеме. Поэтому не стоит забывать про регулярное профилактическое обслуживание системы. Это удобно сделать стандартным средством "Тестирование и исправление информационной базы".

    Данный инструмент поможет оптимизировать БД путем реструктуризации и реиндексации. Чтобы воспользоваться обработкой требуется в режиме конфигуратора. Обработка выглядит следующим образом:

    Некорректная настройка фоновых и регламентных заданий

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

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

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

    Некорректное взаимодействие с другим ПО

    Помимо этого проблема быстродействия 1С:Предприятия может быть связана с другим предустановленным программным обеспечением.

    Чаще всего это антивирусы с неправильными настройками. Соответственно для обеспечения корректной работы 1С требуется проверить настройки используемого антивируса. Например, для «Касперский» настройки указаны на официальном сайте https://support.kaspersky.ru/general/compatibility/11683

    Нестабильный канал связи

    Чаще всего эта проблема актуально при работе в 1С через WEB-интерфейс или удаленный рабочий стол. Если в компании используется удаленный доступ, то обязательно надо проверить работоспособность канала связи.

    Ускорение 1С в пользовательском режиме

    К счастью, в современных поставках оптимизация и ускорение 1С осуществляются и в рамках пользовательского режима.

    На вкладке «Поддержка и обслуживание» (Раздел «Администрирование») доступен широкий перечень функций, увеличивающих ускорение 1С:

    Отключение автоматического запуска неиспользуемых регламентных заданий;

    Выключение полнотекстового поиска;

    Свертка БД за предыдущий период;

    Удаление помеченных объектов;

    Оптимизация 1С

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

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