Partilhar via


Passo a passo: Criando o perfil de um aplicativo do SharePoint

Essa explicação passo a passo mostra como usar as ferramentas para analisar no Visual Studio para otimizar o desempenho de um aplicativo do SharePoint.O aplicativo de exemplo é um receptor de recurso do SharePoint que contém um loop ocioso que degrade o desempenho do receptor de recurso.O profiler do Visual Studio permite localizar e eliminar a parte () lento- executando a mais face do projeto, também conhecida como o caminho quente.

Essa explicação passo a passo demonstra as seguintes tarefas:

  • Adicionando um receptor de recurso e de recurso.

  • Configurando e implantando o aplicativo do SharePoint.

  • Executando o aplicativo do SharePoint.

  • Exibindo e interpretando os resultados para analisar.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Para completar este passo-a-passo, são necessários os seguintes componentes:

Criando um projeto do SharePoint

Primeiro, crie um projeto do SharePoint.

Para criar um projeto do SharePoint

  1. Em a barra de menu, escolha Arquivo, Novo, Projeto para exibir a caixa de diálogo de Novo Projeto .

  2. Expanda o nó de SharePoint em Visual C# ou Visual Basic, e então escolha o nó de 2010 .

  3. Em o painel de modelos, escolha o modelo de Projeto do SharePoint 2010 .

  4. Em a caixa de Nome , entre em ProfileTest, e então escolha o botão de OK .

    Assistente de personalização do SharePoint Aparece.

  5. Em a página de Especificar o site e o nível de segurança para depuração , digite o URL do site de servidor do SharePoint onde você deseja depurar a definição do site, ou use o local padrão (http://nome do sistema/).

  6. Em a seção de Que é o nível de confiança para esta solução do SharePoint? , escolha o botão de opção de Implantar como uma solução de farm .

    Atualmente, você só pode analisar soluções de farm.Para obter mais informações sobre as soluções na área restrita contra soluções de farm, consulte Considerações sobre a solução no modo seguro.

  7. Escolha o botão de Concluir .o projeto aparece em Gerenciador de Soluções.

Adicionando um receptor de recurso e de recurso

Em seguida, adicionar um recurso ao projeto junto com um receptor de evento para o recurso.Este receptor de evento irá conter código a ser analisado.

Para adicionar um receptor de recurso e de recurso

  1. Em Gerenciador de Soluções, abra o menu de atalho para o nó de Recursos , escolha adicionar o recurso, e deixe o nome padrão, o valor Feature1.

  2. Em Gerenciador de Soluções, abra o menu de atalho para Feature1, e então escolha Adicione o receptor de eventos.

    Isso adiciona um arquivo de código para o recurso com vários manipuladores de eventos comentados - out e abre o arquivo para edição.

  3. Em a classe de receptor de eventos, adicione as seguintes declarações de variáveis.

    ' SharePoint site/subsite.
    Private siteUrl As String = "https://localhost"
    Private webUrl As String = "/"
    
    // SharePoint site/subsite.
    private string siteUrl = "https://localhost";
    private string webUrl = "/";
    
  4. Substitua o procedimento de FeatureActivated com o código a seguir.

    Public Overrides Sub FeatureActivated(properties As SPFeatureReceiverProperties)
        Try
            Using site As New SPSite(siteUrl)
                Using web As SPWeb = site.OpenWeb(webUrl)
                    ' Reference the lists.
                    Dim announcementsList As SPList = web.Lists("Announcements")
    
                    ' Add a new announcement to the Announcements list.
                    Dim listItem As SPListItem = announcementsList.Items.Add()
                    listItem("Title") = "Activated Feature: " & Convert.ToString(properties.Definition.DisplayName)
                    listItem("Body") = Convert.ToString(properties.Definition.DisplayName) & " was activated on: " & DateTime.Now.ToString()
                    ' Waste some time.
                    TimeCounter()
                    ' Update the list.
                    listItem.Update()
                End Using
            End Using
    
        Catch e As Exception
            Console.WriteLine("Error: " & e.ToString())
        End Try
    End Sub
    
    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. Adicione o seguinte procedimento abaixo do procedimento de FeatureActivated .

    Public Sub TimeCounter()
        Dim result As Integer
        For i As Integer = 0 To 99999
            For j As Integer = 0 To 9999
                result = i * j
            Next j
        Next i
    End Sub
    
    public void TimeCounter()
    {
        for (int i = 0; i < 100000; i++)
        {
            for (int j = 0; j < 10000; j++)
            {
                int result = i * j;
            }
        }
    }
    
  6. Em Gerenciador de Soluções, abra o menu de atalho para o projetoProfileTest(), e depois escolha Propriedades.

  7. Em a caixa de diálogo de Propriedades , escolha a guia de SharePoint .

  8. Em a lista de Configuração ativa de implantação , escolha nenhuma ativação.

    Selecione esta configuração de implantação permite que você alterne manualmente posteriormente o recurso no SharePoint.

  9. salvar o projeto.

Configurando e implantando o aplicativo do SharePoint

Agora que o projeto do SharePoint está pronto, configure-o e implantá-lo no servidor do SharePoint.

Para configurar e implantar o aplicativo do SharePoint

  1. Em o menu de Analisar , escolha Iniciar o assistente de desempenho.

  2. Em a página de uma Assistente de desempenho, deixe o método de análise como Preparação de exemplos de CPU e escolha o botão de Avançar .

    Os outros métodos para analisar podem ser usados em situações a mais avançados.Para obter mais informações, consulte Noções básicas sobre métodos de criação de perfil.

  3. Em a página de dois Assistente de desempenho, deixe de destino de perfil como ProfileTest e escolha o botão de Avançar .

    Se uma solução tem vários projetos, aparecem na lista.

  4. Em a página de três Assistente de desempenho, desmarque a caixa de seleção de Ativar análise de interação de camada , e então escolha o botão de Avançar .

    Interação de camada que analisa o recurso de (TIP) é útil para medir o desempenho de aplicativos que consulte bancos de dados e para mostrar o número de vezes um página da Web for solicitado.Porque os dados não são necessários para esse exemplo, nós não habilitaremos esse recurso.

  5. Em a página de quatro Assistente de desempenho, deixe a caixa de seleção de Lançamento para traçar perfil após a conclusão do assistente selecionada, e clique no botão de Concluir .

    O assistente permite que o aplicativo para traçar perfil no servidor, exibe a janela de desempenho Explorer e em seguida, criar, implantar, e executa o aplicativo do SharePoint.

Executando o aplicativo do SharePoint

Para ativar o recurso no SharePoint, disparando o código do evento de FeatureActivation para executar.

Para executar o aplicativo do SharePoint

  1. Em o SharePoint, abra o menu de Ações do Site , e então escolha Configurações do Site.

  2. Em a lista de Ações do Site , escolha o link de Gerenciar recursos do site .

  3. Em a lista de Recursos , escolha o botão de Ativar ao lado de ProfileTest Feature1.

    Há uma pausa quando você fizer isso, devido ao loop ocioso que está sendo chamado na função de FeatureActivated .

  4. Em a barra de Início Rápido , escolha Listas e na lista de Listas , escolha Comunicados.

    Observe que um novo comunicado foi adicionado à lista que indica que o recurso foi ativado.

  5. Feche o site da web do SharePoint.

    Depois que você fechar o SharePoint, o profiler cria e exibe um exemplo que analisa o relatório e o salva como um arquivo de .vsp na pasta de projeto de ProfileTest .

Exibindo e interpretando os resultados para analisar

Agora que você executar o aplicativo e analisou do SharePoint, exibir os resultados do teste.

Para exibir e os resultados para interpretar

  1. Em a seção de Funções que tornam a maioria de trabalho individual de exemplo que analisa o relatório, observe que TimeCounter está próximo à parte superior da lista.

    Esse local indica que TimeCounter era uma das funções com o número mais alto de exemplos, significando que é um dos afunilamentos os maiores de desempenho no aplicativo.Essa situação não é surpreendente, no entanto, como se propositadamente que criou a maneira para demonstração purposes.

  2. Em a seção de Funções que tornam a maioria de trabalho individual , escolha o link de ProcessRequest para exibir a distribuição de custo para a função de ProcessRequest .

    Em a seção de funções chamados para ProcessRequest, observe que a função de FeatureActiviated está listada como a função chamada a mais cara.

  3. Em a seção de funções chamados , escolha o botão de FeatureActivated .

    Em a seção de funções chamados para FeatureActivated, a função de TimeCounter é listada como a função chamada a mais cara.Em o painel de O modo de código de função , o código realçadoTimeCounter() é o ponto de acesso e indica onde a correção é necessária.

  4. Feche o exemplo analisa que o relatório.

    Para exibir novamente o relatório a qualquer momento, abra o arquivo de .vsp na janela de desempenho Explorer .

corrigindo o código e o Reprofiling o aplicativo

Agora que a função de ponto de acesso no aplicativo do SharePoint foi identificado, corrigi-lo.

para corrigir o código e reprofile o aplicativo

  1. Em o código de receptor de recurso, comente a chamada de método TimeCounter em FeatureActivated para impedir que seja chamado.

  2. salvar o projeto.

  3. Em desempenho Explorer, abra a pasta de destino, e então escolha o nó de ProfileTest .

  4. Em a barra de ferramentas de desempenho Explorer , na guia de Ações , escolha o botão de Iniciar Criação de Perfil .

    Se você desejar alterar algumas das propriedades para antes de reprofiling o aplicativo, escolha o botão de Iniciar o assistente de desempenho em vez de isso.

  5. Siga as instruções na seção de Executando o aplicativo do SharePoint , anteriormente em este tópico.

    O recurso deve ativar muito mais rápido agora que a chamada para o loop ocioso foi eliminado.O exemplo analisa que o relatório deve refletir isso.

Consulte também

Conceitos

Analisando o desempenho do aplicativo usando as ferramentas de criação de perfil

Visão geral sobre sessão de desempenho de ferramentas de criação de perfil

Guia para principiantes para criação de perfil de desempenho

Outros recursos

Afunilamentos de aplicativo de localização com profiler do Visual Studio