ДМ2 построен на достаточно старой технологии под названием WebForms, и, поскольку сайт хостится на Linux хостинге, долгое время мы были вынуждены использовать устаревший и весьма и весьма глючный рантайм под названием Mono. Mono - это попытка OpenSource реализации .NET Framework (старого, не .NET Core который, а тот который Windows-only) - и к сожалению, эта реализация (особенно что касается веба) получилась весьма и весьма глючной.
Мы долго думали что удастся решить возникающие проблемы с тормозами сайта просто путём замены и подбора разных серверов приложений, и в своё время перепробовали их несколько штук (uwsgi, mono-server, HyperFastCgi, xsp). Но это не решало концептуальной проблемы использования багованного и неоптимального рантайма - того самого Mono, поэтому раз за разом мы сталкивались всё с одним и тем же - иногда чуть раньше, иногда чуть позже, но рано или поздно ДМ начинал тормозить.
Мы это решали откровенными костылями, делая по сути скрипты следящие за временем ответа главной страницы и при пересечении каких-то трешхолдов принудительно перезапускающие весь сервер приложений, начиная "с чистого листа". Проблему это понятное дело не решало, а перезапускать чаще было рискованно - поскольку при нагрузке он мог просто умереть и не перезапуститься.
Однако в конце прошлого года появилась реализация поддержки WebForms под актуальный, современный, быстрый и поддерживаемый напрямую Microsoft рантайм - .NET Core (или просто .NET после версии 5). На этом же рантайме основан и разрабатываемый ДМ3, но мы никогда не думали что нам когда-то удастся пересадить на него и ДМ2! Как оказалось, поддержка была не такая уж и плохая, и ДМ2 достаточно быстро смог перевестись при помощи этой новой библиотеки поддержки.
Да, часть функциональности пришлось переделать, часть немного запатчить и адаптировать, но в общем и целом результат успешен. И сейчас мы работаем на базе .NET 8.0, достаточно сильно оптимизированной по сравнению даже с обычной .NET Framework - не говоря уже про несчастную Mono.