Super user account – Konfiguracja object cache w SharePoint Server 2010

S is for Superman

Natrafienie na poniższy komunikat w logach serwera SharePoint oznacza brak skonfigurowanych użytkowników odpowiedzialnych za obsługę Object Cache:

Object Cache: The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.
To configure the account use the following command ‘stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue account -url webappurl’. The account should be any account that has Full Control access to the SharePoint databases but is not an application pool account.
Additional Data:
Current default super user account: SHAREPOINT\systems

Object cache jest usługą odpowiedzialną za poprawianie wydajności systemu podczas renderowania witryn z uruchomionym feature’em Publishing. Do jego poprawnej pracy konieczne jest prawidłowe skonfigurowanie dwóch niezależnych kont:

  • Portal Super User
  • Portal Super Reader
Usługa ta buduje cache, który pozwala na zmniejszenie komunikacji między serwerami SharePointa a serwerem SQL poprzez przechowywanie takich obiektów jak: listy, biblioteki, ustawienia witryny oraz layout w pamięci serwerów fronton. Dzięki takiemu rozwiązaniu czas wczytywania witryny może być mniejszy. Warto więc skonfigurować tą funkcjonalność.
W tym celu należy przygotować dwa konta domenowe:
  • PortalSU
  • PortalSR
Następnie dla każdej webaplikacji, w której korzystamy z funkcji Publikowania nadajemy nowym kontom odpowiedni uprawnienia. W tym celu otwieramy Centralną Administrację, następnie wybieramy Application Management, jedną z web aplikacji oraz wybieramy przycisk User Policy.
[singlepic id=82 w=320 h=240 mode=web20 float=center]
Następnie dla konta PortalSU zapisujemy polisę Full Control, natomiast dla konta PortalSR polisę Full Read.
[singlepic id=84 w=320 h=240 mode=web20 float=center]
Operację to powtarzamy dla wszystkich webaplikacji.
Po skonfigurowaniu niezbędnych uprawnień konieczne jest jeszcze ustawienie obu konta jako kont obsługujących Object Cache. W tym celu konieczne jest dodatkowe  uruchomienie poniższego skryptu. Ponownie tą czynność należy wykonać dla wszystkich webaplikacji.
$co = Get-SPWebApplication -Identity "http://adreswitryny"
$co.Properties["portalsuperuseraccount"] = "DOMENA\PortalSU"
$co.Properties["portalsuperreaderaccount"] = "DOMENA\PortalSR"
$co.Update()

Wykonanie powyższych czynności pozwoli na prawidłową pracę Object Cache.

2 thoughts on “Super user account – Konfiguracja object cache w SharePoint Server 2010”

  1. Komunikat mówi “The account should be any account that has Full Control access to the SharePoint databases” . Procedure powyżej nie nadaje żadnych uprawnień na poziomie SQL-a. Czy nadajesz te uprawnienia ręcznie w MS SMS czy też można to po prostu zignorować? Supportowiec z Microsoftu ze względu na to wymaganie upierał się aby z tego względu używać konta admina farmy/app pool.
    Dobrze też pamiętać, że jeśli Web app używa claims to w skrypcie też należy używać nazwy konta w formacie claims. ( dlatego microsoftowa dokumnetacja zaleca wprost skopiowanie nazwy konta z User Policy)

  2. Hmm. Powiem szczerze ja nadaję uprawnienia do OC bez dotykania bazy danych, tylko korzystając z powyższej opcji User Policy, dokładnie taka samo dla Searche’a. Według mojej wiedzy powinno to wystarczyć.

Leave a Reply

Your email address will not be published. Required fields are marked *