Udostępnij za pośrednictwem


Zalecenia dotyczące ciągłej optymalizacji wydajności

Dotyczy tej rekomendacji listy kontrolnej wydajności dobrze zaprojektowanej struktury Power Platform:

PE:10 Stale optymalizuj wydajność. Skoncentruj się na składnikach, których wydajność pogarsza się w czasie, takich jak bazy danych i funkcje sieciowe.

W tym przewodniku opisano zalecenia dotyczące ciągłej optymalizacji wydajności. Ciągła optymalizacja wydajności to proces ciągłego monitorowania, analizowania i poprawy efektywności wydajności. Optymalizacja wydajności musi być działaniem ciągłym przez cały cykl życia obciążenia. Wydajność obciążenia może z czasem ulec pogorszeniu lub stać się nadmierna. Czynniki, które należy wziąć pod uwagę, obejmują zmiany we wzorcach użytkowania, wzrost liczby przechowywanych danych, popyt, funkcje i dług techniczny.

Definicje

Termin Definicja
Dług technologiczny Skumulowane nieefektywności, nieoptymalne wybory projektowe lub skróty celowo stosowane podczas procesu tworzenia w celu szybszego dostarczania kodu.
Czas wygaśnięcia Mechanizm, który ustawia czas wygaśnięcia danych.

Kluczowe strategie projektowania

Wydajność wydajności jest osiągana, gdy pojemność obciążenia jest dostosowana do rzeczywistego użycia. Obciążenie, które osiąga lepsze wyniki, jest tak samo problematyczne, jak to, które osiąga gorsze wyniki. Kompromisy są różne. Nadmierna wydajność wpływa na optymalizację kosztów. Niska wydajność wpływa na użytkowników. Kluczem do efektywności wydajności jest monitorowanie, dostosowywanie i testowanie w czasie. Należy regularnie przeglądać metryki wydajności i w razie potrzeby wprowadzać korekty, aby zapewnić wydajność obciążenia. Testowanie wszystkich zmian przed i po wdrożeniu jest wymagane, aby osiągnąć cele wydajnościowe.

Rozwijaj kulturę wydajności

Kultura wydajności to środowisko, w którym oczekuje się ciągłego doskonalenia, a zespół uczy się z produkcji. Optymalizacja wydajności wymaga specjalistycznych umiejętności. Zespoły zajmujące się obciążeniem potrzebują odpowiednich umiejętności i sposobu myślenia, aby zoptymalizować swoją wydajność, aby sprostać wzrostom i spadkom zapotrzebowania. Należy również przeznaczyć ich czas na obsługę wymaganego monitorowania i korygowania problemów z wydajnością w miarę ich pojawiania się. Te zespoły potrzebują jasnych oczekiwań. Na przykład wartości docelowe wydajności, wartości wyjściowe i progi odchylenia (dopuszczalna odległość od linii bazowej) muszą być dobrze widoczne i uspołecznione.

Kompromis: ciągła optymalizacja wydajności wymaga zespołu, który ma odpowiednie umiejętności oraz czas na znajdowanie i rozwiązywanie problemów z wydajnością. Poświęcenie personelu na wydajność zwiększa koszty operacyjne. Jeśli dysponujesz ograniczonymi zasobami ludzkimi, ciągła optymalizacja wydajności może odciągnąć Cię od innych zadań operacyjnych.

Oceń nowe funkcje platformy

Ocena nowych funkcji platformy obejmuje zbadanie nowych funkcji i funkcji, które mogą poprawić wydajność, takich jak zoptymalizowane sposoby wykonywania zapytań dotyczących danych, nowoczesne kontrolki lub mechanizmy buforowania. Nowe funkcje platformy mogą otworzyć drogę do zwiększenia wydajności. Bądź na bieżąco z funkcjami platformy, aby mieć pewność, że korzystasz z najnowszych innowacji i najlepszych praktyk. Konsekwentnie monitoruj opinie i wskaźniki wydajności z tych nowych dodatków, aby udoskonalić swoje podejście.

Ustalanie priorytetów działań optymalizacyjnych

Proaktywna optymalizacja wydajności oznacza podjęcie działań mających na celu poprawę i zwiększenie wydajności obciążenia, zanim pojawią się jakiekolwiek problemy z wydajnością. Korzystanie z proaktywnych miar obejmuje identyfikowanie potencjalnych wąskich gardeł, monitorowanie metryk wydajności i wdrażanie optymalizacji w celu zapewnienia, że obciążenie działa wydajnie i spełnia pożądane cele wydajności. Na podstawie analizy pogarszających się składników, krytycznych przepływów i długu technicznego można wdrożyć optymalizacje wydajności specyficzne dla każdego obszaru. Ulepszenia mogą obejmować zmiany w kodzie, dostosowania infrastruktury lub aktualizacje konfiguracji.

Nadaj priorytet pogarszającym się komponentom

W miarę rozwoju obciążenia i zmieniających się wzorców użycia te zmiany często wpływają na wydajność poszczególnych składników w obciążeniu. Zwiększona ilość danych w bazach danych może prowadzić do dłuższego czasu wykonywania zapytań i wolniejszego pobierania danych. Zmiany we wzorcach użycia mogą spowodować nieoptymalny projekt zapytania. Zapytania, które kiedyś były wydajne, mogą stać się nieefektywne w miarę rozwoju obciążenia. Nieefektywne zapytania mogą zużywać nadmierne zasoby i obniżać wydajność bazy danych.

Ważne jest, aby podejmować ciągłe wysiłki w celu optymalizacji wydajności komponentów, które z czasem wykazują zmniejszoną wydajność. Proaktywnie identyfikuj i rozwiązuj problemy z wydajnością w obciążeniu. Nadając priorytet znanym, pogarszającym się składnikom, można proaktywnie rozwiązać potencjalne problemy z wydajnością i zapewnić bezproblemowe działanie obciążenia. Rozważ zaimplementowanie technik dostrajania wydajności lub zoptymalizowanie alokacji zasobów.

Określanie priorytetów krytycznych przepływów użytkowników i systemów

Krytyczne przepływy użytkowników i systemów to najważniejsze procesy lub przepływy pracy o wysokim priorytecie w obciążeniu. Nadając priorytety tym krytycznym przepływom, zapewniasz, że najważniejsze części obciążenia są zoptymalizowane pod kątem wydajności. Wiedza o tym, które przepływy są krytyczne, pomaga w ustalaniu priorytetów działań związanych z optymalizacją. Optymalizacja wydajności najważniejszych obszarów aplikacji zapewnia najwyższy zwrot z inwestycji. Należy monitorować krytyczne przepływy i najpopularniejsze części aplikacji. Szukaj sposobów, aby uczynić je bardziej wydajnymi.

Automatyzacja optymalizacji wydajności

Automatyzacja może wyeliminować powtarzalne i czasochłonne procesy ręczne, umożliwiając ich efektywne wykonywanie. Automatyzacja zmniejsza ryzyko błędu ludzkiego i zapewnia spójność w wykonywaniu zadań optymalizacyjnych. Automatyzując te zadania, możesz również uwolnić ludzi, aby mogli skupić się na bardziej złożonych czynnościach i działaniach, które dodają wartości. Automatyzację można zastosować do różnych zadań, takich jak testowanie wydajności, wdrażanie i monitorowanie.

  • Zautomatyzowane testowanie wydajności: użyj narzędzi do automatycznego testowania wydajności, takich jak Selenium, do symulowania różnych obciążeń i scenariuszy. Aparat testowy Power Apps to składnik w interfejsie wiersza polecenia Power Platform, który umożliwia testowanie aplikacji na kanwie samodzielnych, w których można przetestować aplikację z kanwą w Power Apps.

  • Zautomatyzowane wdrażanie: zaimplementuj zautomatyzowane procesy wdrażania, aby zapewnić spójne i wolne od błędów wdrożenia. Użyj narzędzi CI/CD (ciągła integracja/ciągłe dostarczanie), aby zautomatyzować proces wdrażania. Te narzędzia mogą pomóc w identyfikowaniu wąskich gardeł wydajności podczas używania ich do testowania punktów końcowych, sprawdzania stanów HTTP, a nawet weryfikowania jakości i odmian danych.

  • Monitorowanie i alerty: skonfiguruj zautomatyzowane systemy monitorowania i alertów, aby stale monitorować metryki wydajności i wykrywać wszelkie odchylenia lub anomalie. Po wykryciu problemów z wydajnością mogą zostać wyzwolone automatyczne alerty, aby powiadomić odpowiednie zespoły lub osoby.

  • Zarządzanie zdarzeniami: zaimplementuj zautomatyzowany system zarządzania zdarzeniami, który może odbierać alerty, tworzyć zgłoszenia i przypisywać zgłoszenia do odpowiednich zespołów w celu rozwiązania. Te kroki pomagają zapewnić, że problemy z wydajnością są szybko rozwiązywane i przypisywane do odpowiednich zasobów.

  • Zautomatyzowana diagnostyka: opracuj zautomatyzowane narzędzia diagnostyczne lub skrypty, które mogą analizować dane dotyczące wydajności i identyfikować główne przyczyny problemów z wydajnością. Narzędzia te mogą pomóc w określeniu określonych obszarów lub składników systemu, które powodują problemy z wydajnością.

  • Zautomatyzowane akcje korygowania: zdefiniuj i zaimplementuj zautomatyzowane akcje korygowania, które mogą zostać wyzwolone po wykryciu określonych problemów z wydajnością. Te akcje mogą obejmować ponowne uruchamianie usług, dostosowywanie alokacji zasobów, czyszczenie pamięci podręcznych lub implementowanie innych technik optymalizacji wydajności.

  • Systemy samonaprawiania: wbuduj możliwości samonaprawiania w system, automatyzując proces odzyskiwania w przypadku znanych problemów z wydajnością. Ta funkcja może obejmować automatyczne naprawianie lub dostosowywanie konfiguracji systemu w celu przywrócenia optymalnej wydajności.

Obsługa długu technicznego

Dług techniczny odnosi się do skumulowanych nieefektywności, nieoptymalnych wyborów projektowych lub skrótów podjętych podczas procesu rozwoju, które mogą mieć wpływ na wydajność. Dług techniczny, niejasny kod i zbyt skomplikowane implementacje mogą utrudniać osiągnięcie efektywności wydajności. Obsługa długu technicznego obejmuje identyfikowanie i rozwiązywanie tych problemów w celu poprawy ogólnej wydajności i łatwości konserwacji obciążenia. Ta praca może obejmować refaktoryzację kodu, optymalizację zapytań bazy danych, ulepszanie projektu architektury lub implementowanie najlepszych rozwiązań. Być może na przykład wprowadziłeś dług techniczny, aby dotrzymać terminu — będziesz musiał zająć się tym długiem technicznym, optymalizując wydajność w czasie.

Optymalizowanie baz danych

Ciągła optymalizacja baz danych obejmuje identyfikowanie i implementowanie optymalizacji w celu zapewnienia, że bazy danych mogą obsługiwać obciążenia, zapewniać krótkie czasy odpowiedzi i minimalizować wykorzystanie zasobów. Regularnie optymalizując bazy danych, można poprawić wydajność aplikacji, skrócić przestoje i poprawić ogólne wrażenia użytkownika.

  • Zoptymalizuj zapytania bazy danych: źle napisane zapytania do bazy danych mogą obniżyć wydajność bazy danych. Nieefektywne filtry mogą powodować niepotrzebne przetwarzanie danych. Złożone podzapytania, zagnieżdżone zapytania i nadmierne funkcje mogą zmniejszyć szybkość działania. Napisz ponownie zapytania, które pobierają zbyt dużo danych. Zidentyfikuj najbardziej typowe lub krytyczne zapytania do bazy danych i zoptymalizuj je. Optymalizacja pomaga zapewnić szybsze wykonywanie zapytań.
  • Przejrzyj projekt modelu: przejrzyj model danych, aby upewnić się, że zoptymalizujesz go pod kątem określonych wymagań aplikacji.

Ułatwienia Power Platform

Automatyzowanie optymalizacji wydajności: moduł sprawdzania rozwiązań oferuje rekomendacje dotyczące wydajności w oparciu o bogate analizy statyczne na rozwiązaniach dla zestawu reguł najlepszych metod postępowania, aby szybko określać problematyczne wzorce. Pamiętaj, aby regularnie sprawdzać te zalecenia i stosować się do nich.

Monitorowanie optymalizacji wydajności: zintegruj swoje obciążenia Power Platform z Application Insights, aby uzyskać szczegółowe informacje i rekomendacje dotyczące optymalizacji wydajności.

Analizuj wydajność i użycie agenta w Copilot Studio: analiza rozwiązania Copilot zapewnia kompleksowy przegląd wydajności Twojego agenta. Wykorzystuje technologię sztucznej inteligencji (AI) do określenia, które tematy mają największy wpływ na współczynnik eskalacji, współczynnik porzuceń i współczynnik rozwiązań. Śledzenie wskaźnikow zaangażowania w konwersację i jej wyników jest niebędne do mierzenia wskaźników wydajności agent oraz odkrywania obszarów wymagających poprawy.

Lista kontrolna efektywności wydajności

Zapoznaj się z kompletną zestawem zaleceń.