Jak działa buforowanie po stronie serwera w Power Pages
W celu poprawy skalowalności i wydajności, strony Power Pages buforują dane, które są odpytywane z Microsoft Dataverse. To buforowanie odbywa się na serwerze aplikacji dla wszystkich danych biznesowych i metadanych witryny i różni się od buforowania zasobów statycznych w przeglądarce lub sieci dostarczania treści.
Buforowanie po stronie serwera odbywa się dla dwóch typów tabel opisanych poniżej:
Tabele metadanych/konfiguracji
Tabele metadanych/konfiguracji reprezentują wszystkie tabele, które przechowują informacje o konfiguracji witryny, takie jak strony internetowe, szablony internetowe, fragmenty treści i inne.
Następujące tabele są uważane za tabele konfiguracji. Ta lista jest stała i nie może być modyfikowana przez żadną konfigurację.
Uwaga
- Tabele używane do konfiguracji witryny będą zależały od tego, czy witryna została skonfigurowana przy użyciu standardowego czy rozszerzonego modelu danych. Więcej informacji można znaleźć w Rozszerzony model danych.
- Tabele te nie mogą być modyfikowane.
Tabela systemowa | Rozszerzony model danych – tabela wirtualna | Tabela standardowych modeli danych |
---|---|---|
powerpagesite | mspp_website | adx_website – witryna sieci web |
powerpagesitelanguage | mspp_websitelanguage | adx_websitelanguage – język witryny internetowej |
powerpagecomponent | mspp_columnpermission mspp_columnpermissionprofile mspp_contentsnippet mspp_entityform mspp_entityformmetadata mspp_entitylist mspp_entitypermission mspp_pagetemplate mspp_pollplacement mspp_publishingstate mspp_publishingstatetransitionrule mspp_redirect mspp_shortcut mspp_sitemarker mspp_sitesetting mspp_webfile mspp_webform mspp_webformmetadata mspp_webformstep mspp_weblink mspp_weblinkset mspp_webpage mspp_webpageaccesscontrolrule mspp_webrole mspp_websiteaccess mspp_websitelanguage mspp_webtemplate |
adx_columnpermission adx_columnpermissionprofile adx_contentsnippet adx_entityform adx_entityformmetadata adx_entitylist adx_entitypermission adx_pagetemplate adx_pollplacement adx_publishingstate adx_publishingstatetransitionrule adx_redirect adx_shortcut adx_sitemarker adx_sitesetting adx_webfile adx_webform adx_webformmetadata adx_webformstep adx_weblink adx_weblinkset adx_webpage adx_webpageaccesscontrolrule adx_webrole adx_websiteaccess adx_websitelanguage adx_webtemplate |
Wszystkie dane tabeli konfiguracyjnej są takie same dla wszystkich użytkowników i są automatycznie buforowane. Ta pamięć podręczna danych konfiguracyjnych dla dowolnej tabeli jest aktualizowana automatycznie, gdy dowolny rekord zostanie zmieniony. Automatyczna aktualizacja pamięci podręcznej ma umowę o poziomie usług na 15 minut. Każda zmiana wykonana dla rekordu konfiguracyjnego byłaby automatycznie dostępna na stronie internetowej w ciągu 15 minut.
Jednak w przypadku, gdy zmiany w rekordach są potrzebne natychmiast, można wyraźnie wyczyścić pamięć podręczną, używając następujących opcji;
Opcja | Details |
---|---|
Studio projektowania | Wybranie opcji Podgląd w studio projektowym spowoduje wyczyszczenie pamięci podręcznej. |
Strona /_services/about w witrynie sieci Web |
Skorzystaj z opcji czyszczenie konfiguracji lub wyczyść pamięć podręczną, przechodząc do strony internetowej z dodatkiem '/_services/about' do adresu URL strony. Aby wyświetlić te opcje, użytkownik powinien mieć przypisaną webrolę z wszystkimi uprawnieniami dostępu do 1 strony. |
Uwaga
Aktualizacje danych w tabelach konfiguracyjnych lub wywołanie akcji wyczyść pamięć podręczną lub konfigurację powinny być wykonywane w godzinach pozaszczytowych. Częste lub zbyt częste zmiany tabel mogą negatywnie wpłynąć na wydajność witryny.
Wszystkie tabele konfiguracyjne muszą być włączone do powiadamiania o zmianach w organizacji. Powiadomienie o zmianie jest domyślnie ustawione poprawnie i nie powinno być modyfikowane.
Tabele danych
Tabele danych reprezentują wszystkie tabele Dataverse, które przechowują dane biznesowe wyświetlane na stronie internetowej. Dane te są zazwyczaj buforowane dla każdego użytkownika, z wyjątkiem niektórych przypadków, takich jak użytkownicy anonimowi lub tabele z globalne uprawnienia. Ponadto buforowane są tylko dane, do których użytkownik ma dostęp na stronie, a nie dane dla całej tabeli.
Ten cache jest aktualizowany poprzez kilka mechanizmów opisanych poniżej:
Każdy rekord dla tabeli (lub powiązanej tabeli) jest tworzony, aktualizowany lub usuwany na stronie przez dowolnego użytkownika strony. Akcja ta spowoduje natychmiastowe wyczyszczenie pamięci podręcznej dla wszystkich użytkowników witryny dla tej konkretnej tabeli.
Pamięć podręczna jest czyszczona automatycznie w ciągu 15 minut, nawet jeśli nie zostały wprowadzone żadne zmiany.
Cache jest czyszczony ręcznie poprzez następujące opcje:
Opcja Details Studio projektowania Wybranie opcji Podgląd w studio projektowym spowoduje wyczyszczenie pamięci podręcznej. Strona /_services/about
w witrynie sieci WebSkorzystaj z opcji czyszczenie konfiguracji lub wyczyść pamięć podręczną, przechodząc do strony internetowej z dodatkiem '/_services/about' do adresu URL strony. Aby wyświetlić te opcje, użytkownik powinien mieć przypisaną webrolę z wszystkimi uprawnieniami dostępu do 1 strony.
Uwaga
Opcja clear cache powinna być rzadko używana, ponieważ czyści ona cache dla wszystkich tabel danych, jak również tabele konfiguracji i może spowodować tymczasowe spowolnienie. W przypadku witryny na żywo z dużym obciążeniem, może to prowadzić do problemów z wydajnością użytkowników.
— często zadawane pytania
Czy mogę zmienić czas odświeżania pamięci podręcznej z 15 minut na krótszy?
Nie. Umowy SLA dotyczące odświeżania pamięci podręcznej pozostawiają 15 min. Wszelkie zmiany z Dataverse będą odzwierciedlone na stronie w ciągu 15 minut zarówno dla tabel danych jak i tabel konfiguracyjnych.
Używam wtyczek lub przepływów pracy do aktualizacji danych w innych tabelach i potrzebuję tych zmian danych, aby natychmiast odzwierciedlić je w mojej witrynie.
Taki sposób projektowania nie jest zalecany. Poza rekordem podstawowym, w którym wywołana jest akcja tworzenia lub aktualizacji, odbicie danych z Dataverse do stron internetowych nigdy nie jest gwarantowane jako natychmiastowe.
Czy jest jakaś różnica w buforowaniu między stronami opartymi na pojemności a portalami z dodatkami?
Nie
Jak długo trwa odzwierciedlenie zmian ze strony internetowej do Dataverse?
Natychmiast, o ile aktualizacja zmienia rekord główny i nie jest oparta na pośrednich zmianach danych za pomocą wtyczek lub przepływów pracy po operacji.