Partilhar via


Passo a passo: criação de perfil de um aplicativo do SharePoint

Este passo a passo mostra como usar as ferramentas de criação de perfil no Visual Studio para otimizar o desempenho de um aplicativo do SharePoint. O aplicativo de exemplo é um receptor de evento de recurso do SharePoint que contém um loop ocioso que degrada o desempenho do receptor de eventos de recurso. O criador de perfil do Visual Studio permite localizar e eliminar a parte mais cara (de desempenho mais lento) do projeto, também conhecida como o caminho crítico.

Este passo a passo demonstra as seguintes tarefas:

Pré-requisitos

Você precisará dos seguintes componentes para concluir este passo a passo:

  • Edições do Microsoft Windows e do SharePoint com suporte.

  • Visual Studio 2012.

Criar um projeto do SharePoint

Primeiro, crie um projeto do SharePoint.

Para criar um projeto do SharePoint

  1. Na barra de menus, escolha Arquivo>Novo>Projeto para exibir a caixa de diálogo Novo Projeto.

  2. Expanda o nó do SharePoint no Visual C# ou no Visual Basic e escolha o nó 2010.

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

  4. Na caixa Nome, insira ProfileTest e clique no botão OK.

    O Assistente de Personalização do SharePoint é exibido.

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

  6. Na seção Qual é o nível de confiança para esta solução do SharePoint?, clique no botão da opção Implantar como uma solução de farm.

    Atualmente, você só pode criar o perfil de soluções de farm. Para obter mais informações sobre soluções de área restrita em comparação a soluções de farm, confira Considerações sobre a solução em área restrita.

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

Adicione um recurso e um receptor de eventos de recurso

Em seguida, adicione um recurso ao projeto junto com um receptor de evento para o recurso. Esse receptor de evento conterá o código a ser perfilado.

Para adicionar um recurso e um receptor de eventos de recurso

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Recursos, escolha Adicionar Recurso e deixe o nome no valor padrão, Feature1.

  2. No Gerenciador de Soluções, abra o menu de atalho de Feature1 e, em seguida, escolha Adicionar Receptor de Evento.

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

  3. Na classe receptora de evento, adicione as seguintes declarações de variável.

    // SharePoint site/subsite.
    private string siteUrl = "http://localhost";
    private string webUrl = "/";
    
  4. Substitua o procedimento FeatureActivated pelo seguinte código.

    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 procedimento a seguir abaixo do procedimento FeatureActivated.

    public void TimeCounter()
    {
        for (int i = 0; i < 100000; i++)
        {
            for (int j = 0; j < 10000; j++)
            {
                int result = i * j;
            }
        }
    }
    
  6. No Gerenciador de Soluções, abra o menu de atalho do projeto (ProfileTest) e, em seguida, escolha Propriedades.

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

  8. Na lista Configuração de Implantação Ativa, escolha Sem Ativação.

    Selecionar essa configuração de implantação permite ativar manualmente o recurso posteriormente no SharePoint.

  9. Salve o projeto.

Configurar e implantar o aplicativo do SharePoint

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

Para configurar e implantar o aplicativo do SharePoint

  1. No menu Analisar, escolha Iniciar o Assistente de Desempenho.

  2. Na página um do Assistente de Desempenho, deixe o método de criação de perfil como amostragem de CPU e escolha o botão Avançar.

    Os outros métodos de criação de perfil podem ser usados em situações de criação de perfil mais avançadas. Para obter mais informações, consulte Noções Básicas sobre Métodos de Coleta de Desempenho.

  3. Na página dois do Assistente de Desempenho, deixe o destino do perfil como ProfileTest e escolha o botão Avançar.

    Se uma solução tiver vários projetos, eles aparecerão nesta lista.

  4. Na página três do Assistente de Desempenho, desmarque a caixa de seleção Habilitar Criação de Perfil de Interação de Camada e escolha o botão Avançar.

    O recurso TIP (Criação de Perfil de Interação de Camada) é útil para medir o desempenho de aplicativos que consultam bancos de dados e para mostrar o número de vezes que uma página da Web é solicitada. Como esses dados não são necessários para este exemplo, não habilitaremos esse recurso.

  5. Na página quatro do Assistente de Desempenho, deixe a caixa de seleção Iniciar criação de perfil após a conclusão do assistente marcada e, em seguida, escolha o botão Concluir.

    O assistente habilita a criação de perfil de aplicativo no servidor, exibe a janela do Gerenciador de Desempenho e, em seguida, compila, implanta e executa o aplicativo do SharePoint.

Executar o aplicativo do SharePoint

Ative o recurso no SharePoint, disparando o código de evento FeatureActivation a ser executado.

Para executar o aplicativo do SharePoint

  1. No SharePoint, abra o menu Ações do Site e escolha Configurações do Site.

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

  3. Na lista Recursos, escolha o botão Ativar ao lado ProfileTest Feature1.

    Há uma pausa quando você faz isso, devido ao loop ocioso ser chamado na função FeatureActivated.

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

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

  5. Feche o site do SharePoint.

    Depois de fechar o SharePoint, o criador de perfil cria e exibe um Relatório de Criação de Perfil de Exemplo e o salva como um arquivo .vsp na pasta do projeto ProfileTest.

Exibir e interpretar os resultados do perfil

Agora que você executou e criou o perfil do aplicativo do SharePoint, exiba os resultados do teste.

Para exibir e interpretar os resultados do perfil

  1. Na seção Funções que fazem o trabalho mais individual do Relatório de Criação de Perfil de Exemplo, observe que TimeCounter está próximo à parte superior da lista.

    Esse local indica que TimeCounter foi uma das funções com o maior número de amostras, o que significa que é um dos maiores gargalos de desempenho no aplicativo. No entanto, essa situação não é surpreendente, pois foi projetada propositalmente dessa forma para fins de demonstração.

  2. Na seção Funções que fazem o trabalho mais individual, escolha o link ProcessRequest para exibir a distribuição de custo para a função ProcessRequest.

    Na seção Funções chamadas para ProcessRequest, observe que a função FeatureActiviated está listada como a função chamada mais cara.

  3. Na seção Funções chamadas, escolha o botão Recurso Ativado.

    Na seção Funções chamadas para Recurso Ativado, a função TimeCounter está listada como a função chamada mais cara. No painel Exibição de Código de Função, o código realçado (TimeCounter) é o ponto de acesso e indica onde a correção é necessária.

  4. Feche o Relatório de Criação de Perfil de Exemplo.

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

Corrigir o código e recriar o perfil do aplicativo

Agora que a função hotspot no aplicativo do SharePoint foi identificada, corrija-a.

Para corrigir o código e recriar o perfil do aplicativo

  1. No código do receptor do evento de recurso, comente a chamada do método TimeCounter em FeatureActivated para evitar que ele seja chamado.

  2. Salve o projeto.

  3. No Gerenciador de Desempenho, abra a pasta Destinos e escolha o nó ProfileTest.

  4. Na barra de ferramentas do Gerenciador de Desempenho, na guia Ações, escolha o botão Iniciar Criação de Perfil.

    Se você quiser alterar qualquer uma das propriedades de criação de perfil antes de recriar o perfil do aplicativo, escolha, em vez disso, o botão Iniciar Assistente de Desempenho.

  5. Siga as instruções na seção Executar o Aplicativo do SharePoint, anteriormente neste tópico.

    O recurso deve ser ativado muito mais rapidamente agora que a chamada para o loop ocioso foi eliminada. O Relatório de Criação de Perfil de Exemplo deve refletir isso.