Udostępnij za pośrednictwem


Przewodnik: profilowanie aplikacji programu SharePoint

W tym przewodniku pokazano, jak używać narzędzi profilowania w programie Visual Studio w celu zoptymalizowania wydajności aplikacji programu SharePoint. Przykładowa aplikacja to odbiornik zdarzeń funkcji programu SharePoint, który zawiera pętlę bezczynności, która obniża wydajność odbiornika zdarzeń funkcji. Profiler programu Visual Studio umożliwia lokalizowanie i eliminowanie najdroższej (najwolniejszej wydajności) części projektu, znanej również jako ścieżka gorąca.

W tym przewodniku przedstawiono następujące zadania:

Wymagania wstępne

Następujące składniki są wymagane do przeprowadzenia tego instruktażu:

  • Obsługiwane wersje systemów Microsoft Windows i SharePoint.

  • Visual Studio 2012.

Tworzenie projektu programu SharePoint

Najpierw utwórz projekt programu SharePoint.

Aby utworzyć projekt programu SharePoint

  1. Na pasku menu wybierz pozycję Plik>nowy>projekt, aby wyświetlić okno dialogowe Nowy projekt.

  2. Rozwiń węzeł programu SharePoint w obszarze Visual C# lub Visual Basic, a następnie wybierz węzeł 2010.

  3. W okienku szablonów wybierz szablon project programu SharePoint 2010.

  4. W polu Nazwa wprowadź ciąg ProfileTest, a następnie wybierz przycisk OK .

    Zostanie wyświetlony Kreator dostosowywania programu SharePoint.

  5. Na stronie Określanie witryny i poziomu zabezpieczeń na potrzeby debugowania wprowadź adres URL lokacji serwera programu SharePoint, w której chcesz debugować definicję lokacji, lub użyj lokalizacji domyślnej (nazwa systemu http:///).

  6. W sekcji Co to jest poziom zaufania dla tego rozwiązania programu SharePoint? wybierz przycisk Wdróż jako rozwiązanie farmy.

    Obecnie można profilować tylko rozwiązania farmy. Aby uzyskać więcej informacji na temat rozwiązań w trybie piaskownicy i rozwiązań farmy, zobacz Zagadnienia dotyczące rozwiązania w trybie piaskownicy.

  7. Wybierz przycisk Zakończ. Projekt zostanie wyświetlony w Eksplorator rozwiązań.

Dodawanie odbiornika zdarzeń funkcji i funkcji

Następnie dodaj funkcję do projektu wraz z odbiornikiem zdarzeń dla tej funkcji. Ten odbiornik zdarzeń będzie zawierać kod do profilowania.

Aby dodać odbiornik zdarzeń funkcji i funkcji

  1. W Eksplorator rozwiązań otwórz menu skrótów dla węzła Funkcje, wybierz pozycję Dodaj funkcję i pozostaw nazwę na wartości domyślnej Feature1.

  2. W Eksplorator rozwiązań otwórz menu skrótów funkcji Feature1, a następnie wybierz pozycję Dodaj odbiornik zdarzeń.

    Spowoduje to dodanie pliku kodu do funkcji z kilkoma procedurami obsługi zdarzeń z komentarzami i otwarcie pliku do edycji.

  3. W klasie odbiorcy zdarzeń dodaj następujące deklaracje zmiennych.

    // SharePoint site/subsite.
    private string siteUrl = "http://localhost";
    private string webUrl = "/";
    
  4. Zastąp procedurę FeatureActivated następującym kodem.

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        try
        {
            using (SPSite site = new SPSite(siteUrl))
            {
                using (SPWeb web = site.OpenWeb(webUrl))
                {
                    // Reference the lists.
                    SPList announcementsList = web.Lists["Announcements"];
    
                    // Add a new announcement to the Announcements list.
                    SPListItem listItem = announcementsList.Items.Add();
                    listItem["Title"] = "Activated Feature: " + properties.Definition.DisplayName;
                    listItem["Body"] = properties.Definition.DisplayName + " was activated on: " +
    DateTime.Now.ToString();
                    // Waste some time.
                    TimeCounter();
                    // Update the list.
                    listItem.Update();
                }
            }
        }
    
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.ToString());
        }
    }
    
  5. Dodaj poniższą procedurę FeatureActivatedponiżej procedury.

    public void TimeCounter()
    {
        for (int i = 0; i < 100000; i++)
        {
            for (int j = 0; j < 10000; j++)
            {
                int result = i * j;
            }
        }
    }
    
  6. W Eksplorator rozwiązań otwórz menu skrótów projektu (ProfileTest), a następnie wybierz pozycję Właściwości.

  7. W oknie dialogowym Właściwości wybierz kartę SharePoint.

  8. Na liście Konfiguracja aktywnego wdrożenia wybierz pozycję Brak aktywacji.

    Wybranie tej konfiguracji wdrożenia umożliwia ręczne aktywowanie funkcji w dalszej części programu SharePoint.

  9. Zapisz projekt.

Konfigurowanie i wdrażanie aplikacji programu SharePoint

Teraz, gdy projekt programu SharePoint jest gotowy, skonfiguruj go i wdróż go na serwerze programu SharePoint.

Aby skonfigurować i wdrożyć aplikację programu SharePoint

  1. W menu Analiza wybierz pozycję Uruchom Kreatora wydajności.

  2. Na stronie jednego z Kreatora wydajności pozostaw metodę profilowania jako próbkowanie procesora CPU i wybierz przycisk Dalej .

    Inne metody profilowania mogą być używane w bardziej zaawansowanych sytuacjach profilowania. Aby uzyskać więcej informacji, zobacz Understanding Performance Collection Methods (Opis metod zbierania wydajności).

  3. Na stronie drugiej Kreatora wydajności pozostaw element docelowy profilu jako ProfilTest i wybierz przycisk Dalej .

    Jeśli rozwiązanie zawiera wiele projektów, zostaną one wyświetlone na tej liście.

  4. Na stronie trzeciej Kreatora wydajności wyczyść pole wyboru Włącz profilowanie interakcji warstwy, a następnie wybierz przycisk Dalej.

    Funkcja profilowania interakcji warstwy (TIP) jest przydatna do mierzenia wydajności aplikacji, które wysyłają zapytania do baz danych i wyświetlają liczbę żądań strony internetowej. Ponieważ te dane nie są wymagane w tym przykładzie, nie włączymy tej funkcji.

  5. Na stronie czwartej Kreatora wydajności pozostaw zaznaczone pole wyboru Uruchamianie profilowania po zakończeniu pracy kreatora, a następnie wybierz przycisk Zakończ.

    Kreator włącza profilowanie aplikacji na serwerze, wyświetla okno Eksploratora wydajności, a następnie kompiluje, wdraża i uruchamia aplikację programu SharePoint.

Uruchamianie aplikacji programu SharePoint

Aktywuj funkcję w programie SharePoint, wyzwalając FeatureActivation kod zdarzenia do uruchomienia.

Aby uruchomić aplikację programu SharePoint

  1. W programie SharePoint otwórz menu Akcje witryny, a następnie wybierz pozycję Ustawienia witryny.

  2. Na liście Akcje lokacji wybierz link Zarządzaj funkcjami witryny.

  3. Na liście Funkcje wybierz przycisk Aktywuj obok pozycji ProfileTest Feature1.

    Po zakończeniu tej czynności występuje wstrzymanie ze względu na wywoływaną w funkcji pętlę FeatureActivated bezczynności.

  4. Na pasku Szybkie uruchamianie wybierz pozycję Listy, a następnie na liście Listy wybierz pozycję Anonsy.

    Zwróć uwagę, że do listy dodano nowe ogłoszenie z informacją, że funkcja została aktywowana.

  5. Zamknij witrynę programu SharePoint.

    Po zamknięciu programu SharePoint profiler tworzy i wyświetla przykładowy raport profilowania i zapisuje go jako plik vsp w folderze projektu ProfileTest .

Wyświetlanie i interpretowanie wyników profilu

Po uruchomieniu i profilowaniu aplikacji programu SharePoint wyświetl wyniki testu.

Aby wyświetlić i interpretować wyniki profilu

  1. W sekcji Funkcje wykonujące najbardziej indywidualną pracę w przykładowym raporcie profilowania zwróć uwagę, że TimeCounter znajduje się on w górnej części listy.

    Ta lokalizacja wskazuje, że była jedną z funkcji z największą liczbą próbek, co oznacza, że TimeCounter jest to jedno z największych wąskich gardeł wydajności w aplikacji. Ta sytuacja nie jest jednak zaskakująca, ponieważ została celowo zaprojektowana w ten sposób do celów demonstracyjnych.

  2. W sekcji Funkcje wykonujące najbardziej indywidualną pracę wybierz ProcessRequest link, aby wyświetlić rozkład kosztów dla ProcessRequest funkcji.

    W sekcji Wywoływane funkcje dla ProcessRequestelementu zwróć uwagę, że funkcja FeatureActiviated jest wymieniona jako najdroższa wywoływana funkcja.

  3. W sekcji Wywoływane funkcje wybierz przycisk FeatureActivated .

    W sekcji Wywoływane funkcje dla funkcjiActivatedTimeCounter funkcja jest wyświetlana jako najdroższa wywoływana funkcja. W okienku Widok kodu funkcji wyróżniony kod (TimeCounter) jest hotspotem i wskazuje, gdzie jest wymagana korekta.

  4. Zamknij przykładowy raport profilowania.

    Aby ponownie wyświetlić raport w dowolnym momencie, otwórz plik vsp w oknie Eksplorator wydajności.

Naprawianie kodu i ponowneprofile aplikacji

Teraz, gdy funkcja hotspotu w aplikacji programu SharePoint została zidentyfikowana, napraw ją.

Aby naprawić kod i ponownie sprofile aplikacji

  1. W kodzie odbiorcy zdarzeń funkcji oznacz jako komentarz TimeCounter wywołanie metody , FeatureActivated aby zapobiec wywoływaniu.

  2. Zapisz projekt.

  3. W Eksploratorze wydajności otwórz folder Targets, a następnie wybierz węzeł ProfileTest .

  4. Na pasku narzędzi Eksploratora wydajności na karcie Akcje wybierz przycisk Rozpocznij profilowanie.

    Jeśli chcesz zmienić dowolne właściwości profilowania przed ponownymprofilowaniem aplikacji, wybierz zamiast tego przycisk Uruchom Kreatora wydajności.

  5. Postępuj zgodnie z instrukcjami w sekcji Uruchamianie aplikacji programu SharePoint, wcześniej w tym temacie.

    Funkcja powinna aktywować znacznie szybciej teraz, gdy wywołanie pętli bezczynności zostało wyeliminowane. Przykładowy raport profilowania powinien to odzwierciedlać.