Очень часто вижу, что когда заказчик говорит об оптимизации решений на платформе 1С:Предприятие, мягко говоря, не может четко сформулировать проблему. Выглядит это типа как "чтобы все хорошо и быстро работало".
Сначао определимся, что же такое "оптимизация". Ниже только некоторые часто оперируемые составляющие оптимизации.
Помимо приведенных здесь подвопросов, можно так же сказать, что оптимизировать можно читаемость кода конфигурации, удобство развертывания системы, управление безопасностью системы и т.д.
Вопросы надежности раскрыты в соседней страничке, здесь же поговорим о быстродействии.
На рисунке показано, как разные категории специалистов вкладываются в понятие "производительности". Причем сказать, что технический специалист более точен чем владелец бизнеса однозначно нельзя. Почему так происходит?
Одна из главных причин кроется в природе мышления. Когда мы говорим, что "система медленно работает", то подразумеваем что она вцелом медленно работает. Мы не расматриваем систему как совокупность составляющих компонет, в свою очередь вносящих свой вклад в общее быстродействие.
А между тем бывают следующие ситуации:
1. Проблемы производительности не локализованы в определенных бизнес-процессах, а «равномерно распределены» по всей функциональности системы. Все (или почти все) пользователи жалуются на недостаточную производительность системы, но не могут назвать одну конкретную операцию, производительность которой их не устраивает. Субъективная оценка формулирутеся так: «всё работает медленно».
2. В системе имеются четко локализованные проблемы производительности, которые не воспроизводятся на тестовой базе в однопользовательском режиме. Например, пользователи жалуются на недостаточную производительность документа «РеализацияТоваровУслуг», но при проведении этого документа в нерабочее время и/или на тестовой базе производительность оказывается в норме.
3. В системе имеется большое количество хорошо локализованных проблем производительности. Задача заключается в том, чтобы максимально быстро определить, с чего именно следует начинать оптимизацию системы. Необходимо обнаружить источник (или источники) всех имеющихся проблем и найти наиболее узкое место в системе.
4. Система запускается в рабочую эксплуатацию после существенного изменения условий работы системы:
изменилась нагрузка на систему;
изменилась конфигурация;
изменилась используемая версия 1С:Предприятия;
изменилась используемая СУБД;
изменилась конфигурация оборудования;
и т.п.
5. На начальном этапе эксплуатации системы ее производительность была признана удовлетворительной, но по мере наполнения информационной базы производительность стала падать.
6. Планируется увеличение нагрузки на систему и необходимо гарантировать отсутствие в системе скрытых проблем, которые могут привести к падению производительности при росте нагрузки.
7. Система стабильно работает с удовлетворительной производительностью. Необходимо гарантировать своевременную и точную диагностику проблем производительности в случае их возникновения.
Но для всех категорий специалистов и в перечисленных проблемах есть общие симптомы проблем с производительностью.
Таким образом, подводя промежуточный вывод, можно сказать, что не смотря на то что проблема производительности часто бывает состоящей из многих составляющих проблем, есть критерии, по которым можно судить о наличии проблемы и ее уровне влияния на работу пользователей вцелом.
Источники проблем:
«Неудовлетворительное» железо
в момент наблюдаемых проблем серверное оборудование сильно загружено