Не искать одну универсальную причину
Рост нагрузки может быть связан с отдельной операцией, отчетом, регламентным заданием или накоплением нескольких факторов сразу. Важно допускать несколько гипотез, а не зацикливаться на первой удобной версии.
Когда сервер 1С выходит на высокий CPU, пользователи почти сразу замечают это по задержкам, зависаниям и неравномерной работе системы. Ошибка в таких случаях не всегда на поверхности: причина может быть и в прикладной логике, и в тяжелых запросах, и в особенностях фоновых процессов.
Когда сервер 1С начинает упираться в процессор, это быстро замечают все: документы открываются дольше, проведение тормозит, отчеты зависают, а фоновые процессы начинают конкурировать с обычной работой пользователей. CPU становится видимым симптомом, потому что именно он чаще всего первым выходит на предел в моменты перегрузки.
Но сам по себе высокий CPU еще не объясняет причину. В одном случае нагрузку создает неудачный отчет, в другом — массовая регламентная операция, в третьем — проблемный запрос, который раньше выполнялся редко, а теперь повторяется десятки раз в час. Поэтому важно не останавливаться на самом факте высокой загрузки, а разбирать, какой процесс и в каком рабочем сценарии ее формирует.
Рост нагрузки может быть связан с отдельной операцией, отчетом, регламентным заданием или накоплением нескольких факторов сразу. Важно допускать несколько гипотез, а не зацикливаться на первой удобной версии.
Нужно понять время начала проблемы, повторяемость, активных пользователей, фоновые задания и связь с обновлениями или массовыми действиями. Без этого картина получается слишком общей и не позволяет сузить круг причин.
Иногда упирается код, иногда запросы, а иногда сама схема размещения базы или обслуживание сервера выбрано неудачно для текущей нагрузки. Эти причины могут выглядеть одинаково для пользователя, но исправляются совершенно по-разному.
Полезно учитывать и сопутствующие признаки: выросло ли время проведения документов, увеличилось ли ожидание пользователей, есть ли зависшие фоновые процедуры, не совпадает ли всплеск с отчетами или архивными операциями. Если смотреть только на один график загрузки, легко пропустить прикладной контекст, который и объясняет проблему.
Иногда высокий CPU сопровождается очередями заданий, иногда — ростом времени ответа по конкретным операциям, а иногда — почти незаметен для части пользователей, пока одна важная процедура не начинает выполняться в несколько раз дольше обычного.
Добавление вычислительных ресурсов имеет смысл, если система упирается в естественный рост нагрузки и при этом прикладной контур в целом здоров. Но если высокую загрузку формирует один проблемный сценарий, расширение сервера только отодвинет момент повторного проявления. В худшем случае это создаст ложное ощущение, что вопрос решен, хотя причина осталась внутри самой работы системы.
Именно поэтому в небольших инфраструктурах полезно сначала понять структуру нагрузки, а уже потом принимать решение о модернизации. Такой порядок дешевле и дает более предсказуемый результат.