Mamy wiele systemów o tej samej konfiguracji
- Jeden serwer (wirtualny lub fizyczny)
- Uruchamianie programu SQL Server (SQL) i SQL Server Analysis Server (AS)
- wiele rdzeni
- 16 GB pamięci RAM
Każdej nocy SQL Server wykona około 2-3 godzin przetwarzania, a następnie 2-3 godziny przetwarzania AS. Następnie w ciągu dnia odpytuje się tylko AS.
Zakładając, że jest to serwer dedykowany i żadne inne aplikacje nie są niepokojące oraz że oba zestawy przetwarzania są całkowicie synchroniczne - bez nakładania się zawsze jeden po drugim - jak najlepiej ustawić limity pamięci serwera SQL i AS.
Powodem pytania jest to, że jeśli nie ustawię limitu SQL, zajmie on całą dostępną pamięć. Jednak - rozumiem, że SQL szczęśliwie zrzeknie się tej pamięci, jeśli:
Nie używa go i
Żąda tego inna usługa / program.
Z logicznego punktu widzenia uważam, że zezwól SQLowi na zabranie tyle, ile potrzebuje, ale nie jestem pewien co do AS TotalMemoryLimit
. Nie jestem pewien, czy AS zrezygnuje ze swojej pamięci. W rzeczywistości czytanie więcej prowadzi mnie do przekonania, że błędem jest pozwolić, aby to wszystko zabrało.
Czy to oznacza, że muszę ustawić limity dla obu? Jestem zdezorientowany co do najlepszych praktyk i tego, co musimy zmierzyć, biorąc pod uwagę, że procesy się nie pokrywają.
Mam nadzieję, że to ma sens.