ivaneliseeff
@ivaneliseeff
Начинающий любитель :))

Как заставить 1С экономить ресурс?

Всем привет.

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

Всё бы хорошо, но есть проблема - каждая из работающих баз, высасывает по полтора гига оперативы.
В среднем работает по два сотрудника, и по 10 одновременно открытых баз у каждой.

Возможно, есть способ убавить прожорливость, хотя бы на 300-400 мегабайт?
Возможно, есть способ выгружать из памяти те базы, которые висят в фоне?

Поделитесь, пожалуйста. Желательно, отработанными в практике методами ;)
  • Вопрос задан
  • 273 просмотра
Пригласить эксперта
Ответы на вопрос 4
  • @SyavaSyava
    Есть деловое предложение? Пишите, почта в профиле!
    Нет.
    Воздействовать на объём потребляемой 1С оперативной памяти вы можете только одним способом - ограничив доступность этой самой памяти на сервере. Например можно извлечь половину модулей памяти )))
    Но как я понимаю - вам это не вполне подходит.
    Максимум, что вы можете сделать - запретить пользователям держать много баз открытыми. Например установите порог в 5 одновременно открытых баз.
    При желании можно так же написать скрипт, который будет раз в минуту получать список процессов 1С для каждого пользователя, и если их больше 5 штук - убивать "лишние" процессы.
    После этого вас либо уволят, либо проблема решится )))
    --
    Кстати, вариант со скриптом, убивающим лишние открытые базы - вполне рабочий и применяемый. Правда, через несколько дней убивать уже ничего не приходится, т.к. условный рефлекс у юзеров вырабатывается после пары таких случаев.
    Но в моей ситуации на то есть воля руководства, и по этому претензий к админам нет. У вас может быть другая ситуация.
    Ответ написан
  • Как заставить 1С экономить ресурс?
    Никак.
    Хотя при запуске в условиях нехватки системных ресурсов, аппетиты несколько ограничиваются.

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

    Возможно, есть способ выгружать из памяти те базы, которые висят в фоне?
    Конечно есть. В условиях нехватки оперативной памяти, неиспользуемые данные выгружаются в файл подкачки.
    Ответ написан
  • @sazhyk
    У меня самого расклад следующий. 1С скульная. 6 баз. Количество одновременных пользователей - 22-25 человек. Работают каждый обычно с одной. Базы примерно по 4 - 4,5 ГБ. Конфигурация - очень нестандартная (не буду вдаваться в подробности). Примерное потребление файлом rphost - 2,3-2,5Гб. Каждым пользователем - 500-700МБ. SQL сервером - 12ГБ (столько выделено). Очень много поиска полнотекстового.
    Такое низкое потребление памяти (имхо) было достигнуто так: как сказал 1С-программист, у них стандартом де-факто хранение бинарных данных в базе данных (стрим), всех запрошенных данных - в памяти как можно дольше. Отсюда решение, что бинарные данные (в моем случае это фотографии) кэшировались в памяти на очень короткий промежуток времени, не помню точно, но не более 5 минут. Хранились ни в коем случае не в базе , а в отдельном разделе диска. А в базе только ссылки на них.
    Напрягайте 1С-программиста!!! Если сами не сильны в этом. Так же его стоит попросить/потребовать/приказать о том, чтобы он оптимизировал какие-нибудь тяжелые запросы. Обычно это сделать можно.
    ЗЫ. Ребята одинэсники, ничего личного, прост вы иногда немного ленивы.
    Ответ написан
  • @InoMono
    Неиспользуемая память все равно в виртуалку уходит.
    Просто купите больше оперативки - она дешевая.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы