У нас багато систем, що мають однакову конфігурацію
- Один сервер (віртуальний або фізичний)
- Запуск SQL Server (SQL) та сервера аналізу SQL Server (AS)
- кілька ядер
- 16 Гб оперативної пам’яті
Щовечора SQL Server буде обробляти приблизно 2-3 години, після чого - 2-3 години обробки AS. Потім протягом дня запитуються лише АС.
Якщо припустити, що це виділений сервер, і жоден інший додаток не викликає занепокоєння, і що два набори обробки повністю синхронні - не перекриваються завжди один за одним - як я можу найкраще встановити межі пам'яті сервера SQL та AS.
Причина запитати: якщо я не встановлю обмеження для SQL, він захопить всю пам'ять, яку він може. Однак я розумію, що SQL із задоволенням відмовиться від цієї пам'яті, якщо:
Це не використовується і
Інша послуга / програма вимагає цього.
Отже, з логічної точки зору я вважаю, що дозволяю SQL приймати стільки, скільки потрібно, але я не дуже впевнений в AS TotalMemoryLimit
. Я не впевнений, чи AS відмовиться від пам'яті. Насправді читання більше змушує мене вважати, що неправильно дозволяти йому все це приймати.
Чи означає це, що мені потрібно встановити обмеження для обох? Я розгублений щодо того, якими повинні бути найкращі практики, і що нам потрібно вимірювати, враховуючи, що процеси не перетинаються.
Сподіваюся, це має сенс.