Дважды за неделю столкнулся с задачей "тормозит ЕРП", причиной в обоих случаях оказалась неочевидная проблема - нехватка оперативной памяти (ОЗУ) сервера 1С.
Нехватка ОЗУ умеет прятаться, поэтому её плохо видно. Вот когда не хватает места на диске - всё очевидно. Зашёл и увидел - диск красный, место физически закончилось.
А когда не хватает ОЗУ, включается т.н. подкачка (она же - свопинг или пейджинг). Операционная система скидывает часть содержимого ОЗУ на жёсткий диск - вроде выбирает те процессы, которые в данный момент не используются.
Что интересно - процесс скидывается на диск не полностью, а частями. Какими именно - выбирает операционная система.
Получается, процесс сервера 1С (rphost) частично висит в ОЗУ, частично - лежит на диске.
И вот процесс 1С решил получить какие-то данные из памяти. Скорость получения из ОЗУ и с диска отличается в 200-500 раз.
Если повезло, и все данные остались в ОЗУ - прочитаются быстро, пользователь тормозов не заметит.
Если не повезло - всё, туши свет. Падение скорости в 200-500 раз заметно сразу.
Например, документ проводится 2-3 минуты вместо 2-3 секунд. Разница не 200-500 раз, т.к. не всё упирается в скорость получения данных из ОЗУ.
Симптомы проблемы - тормозит у всех, или почти у всех, на ровном месте, в самых обычных операциях.
Смотришь доработки - вроде ничего особенного.
Смотришь тяжёлые операции, вроде закрытия месяца, формирования длинных отчётов, фоновых заданий - ничего критичного.
А оно тормозит.
Когда админ в такой момент пойдёт смотреть состояние сервера, то скажет - всё хорошо, памяти хватает.
Её и правда хватает - объём памяти ведь "увеличился" за счёт использования подкачки. "Увеличенный" объём памяти - это сумма ОЗУ и выделенного на диске пространства.
Вот когда этого совместного "увеличенного" объёма не хватит - тогда да, тогда проблема вылезет наружу под собственным именем - "Out of Memory".
Но до такого доходит не часто.
Так что, если у вас необъяснимо тормозит ЕРП - глядите на использование подкачки.













