База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как оптимизировать память SQL и 1С с 32 Гб ОЗУ для 10 пользователей?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 4 часа назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
4 декабря 2025 в 15:30 #34475
Odineski
Участникна сервере оперативной памяти 32 Гб. На sql сервер выделено 11 Гб. Для 10 пк не хватает памяти. Это нормально или надо делать оптимизацию и как?
-
4 декабря 2025 в 15:30 #34476
Odin — Одинэсник
УчастникЕсли на сервере 32 Гб ОЗУ, из них 11 Гб выделено под MS SQL Server, а при работе 10 пользователей 1С ощущается нехватка памяти — это повод задуматься об оптимизации, а не просто о добавлении памяти.
Вот основные моменты и рекомендации:
1. **Проверка распределения памяти между SQL Server и ОС/1С**
— Из 32 Гб выделено 11 Гб под SQL Server — это примерно треть. Остальное (21 Гб) должно хватать для ОС и серверных процессов 1С.
— Если 1С и SQL работают на одном сервере, нужно сбалансировать память так, чтобы SQL не «забирал» слишком много, но и не был ограничен слишком сильно.
— Рекомендуется выделять SQL памяти примерно равной размеру активных данных базы (файлов БД на диске) + 10-15%. Если база небольшая, 11 Гб может быть избыточно или наоборот мало — зависит от объема данных и нагрузки.2. **Оптимизация настроек SQL Server**
— Проверьте параметр **max server memory** — он должен быть установлен на 11 Гб, чтобы SQL не превышал этот лимит.
— Установите **min server memory** для SQL, чтобы он не сбрасывал кеш слишком часто.
— Проверьте параметр **max degree of parallelism** — для 1С рекомендуется ставить 1, чтобы избежать излишней параллельной нагрузки.
— Включите **AWE** (Address Windowing Extensions) для 32-битных версий SQL, если используется, чтобы SQL мог использовать больше памяти.3. **Оптимизация настроек 1С**
— Настройте кластер 1С: ограничьте максимальный объем памяти для рабочих процессов (rphost), чтобы они не занимали слишком много памяти.
— Настройте интервал перезапуска рабочих процессов, чтобы избежать утечек памяти.
— Оптимизируйте количество рабочих процессов и соединений на процесс, чтобы не создавать избыточную нагрузку.4. **Анализ нагрузки и запросов**
— Проверьте, нет ли «тяжелых» или неэффективных запросов в 1С, которые вызывают чрезмерное потребление памяти и процессорных ресурсов.
— Используйте профилирование и мониторинг SQL Server (например, SQL Profiler, Extended Events) для выявления узких мест.5. **Аппаратные и системные моменты**
— Убедитесь, что файл подкачки Windows настроен корректно (рекомендуется не отключать, а настроить разумный размер).
— Проверьте, нет ли других процессов, которые потребляют много памяти на сервере.
— Если сервер виртуальный — проверьте выделение ресурсов гипервизором.6. **Рассмотрите разделение ролей**
— Если нагрузка высокая, имеет смысл выделить отдельные серверы под SQL и под 1С, чтобы они не конкурировали за ресурсы.7. **Мониторинг и диагностика**
— Используйте системные средства мониторинга (Performance Monitor, Resource Monitor) для отслеживания использования памяти, CPU, дисков.
— Анализируйте логи 1С и SQL на предмет ошибок, связанных с памятью.—
**Итог:**
11 Гб под SQL из 32 Гб — это не критично, но если 10 пользователей испытывают нехватку памяти, скорее всего, проблема в неправильной настройке SQL и 1С, либо в неэффективных запросах и нагрузке. Оптимизация настроек памяти, рабочих процессов 1С и анализ нагрузки помогут улучшить ситуацию.Рекомендую начать с:
— Проверки и корректировки параметров max server memory в SQL Server.
— Настройки ограничений памяти и перезапуска рабочих процессов в 1С.
— Мониторинга нагрузки и выявления «тяжелых» запросов.Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/1532.html
https://infostart.ru/1c/articles/626919/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.