Compartir a través de


Tutorial: Generar el perfil de una aplicación de SharePoint

Este tutorial muestra cómo utilizar las herramientas de generación de perfiles de Visual Studio para optimizar el rendimiento de una aplicación de SharePoint.La aplicación de ejemplo es un receptor de eventos de característica de SharePoint que contiene un bucle inactivo que se vea afectado el rendimiento del receptor de eventos de característica.El generador de perfiles de Visual Studio permite establecer y eliminar la parte (lento- que realiza) más costosa de proyecto, también conocido como la ruta activo.

En este tutorial se muestran las siguientes tareas:

  • Agregar un receptor de características y de eventos de característica.

  • Configurar e implementar la aplicación de SharePoint.

  • Ejecutar la aplicación de SharePoint.

  • Vista e Interpreting los Resultados de generación de perfiles.

[!NOTA]

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

Crear un proyecto de SharePoint

Primero, cree un proyecto de SharePoint.

Para crear un proyecto de SharePoint

  1. En la barra de menú, elija Archivo, Nuevo, Proyecto para mostrar el cuadro de diálogo Nuevo proyecto .

  2. Expanda el nodo SharePoint en Visual c# o Visual Basicy, a continuación el nodo 2010 .

  3. En el panel plantillas, elija la plantilla Proyecto de SharePoint 2010 .

  4. En el cuadro Nombre , entre en ProfileTest, y elija el botón Aceptar .

    Aparece el Asistente para la personalización de SharePoint.

  5. En la página Especifique el sitio y el nivel de seguridad de la depuración, escriba la dirección URL para el sitio de servidor de SharePoint donde desea depurar la definición de sitio, o utilice la ubicación predeterminado (http://nombre sistema/).

  6. En la sección Cuál es el nivel de confianza de esta solución de SharePoint? , elija el botón de opción Implementar como solución de granja de servidores .

    Actualmente, sólo las soluciones de granja de perfil.Para obtener más información sobre soluciones de granja y soluciones en espacio aislado, vea Consideraciones sobre las soluciones en espacio aislado.

  7. Elija el botón Finalizar .El proyecto aparecerá en el Explorador de soluciones.

Agregar un receptor de características y de eventos de característica

A continuación, agregar una característica al proyecto junto con un receptor de eventos a la característica.Este receptor de eventos contendrá código que se generará perfiles.

Para agregar un receptor de características y de eventos de característica

  1. En Explorador de soluciones, abra el menú contextual para el nodo Características , elija Agregar característica, y deja el nombre en el valor predeterminado, Característica1.

  2. En Explorador de soluciones, abra el menú contextual para Característica1y, a continuación Agregar receptor de eventos.

    Esto agrega un archivo de código a la característica con varios controladores de eventos con - out y abra el archivo para su edición.

  3. En la clase de receptor de eventos, agregue las declaraciones de variable siguientes.

    ' 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. En lugar del procedimiento de FeatureActivated, escriba el código que figura a continuación.

    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. Agregue el siguiente procedimiento bajo el procedimiento 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. En Explorador de soluciones, abra el menú contextual del proyecto (ProfileTest) y, a continuación Propiedades.

  7. En el cuadro de diálogo Propiedades , elija la ficha SharePoint .

  8. En la lista Configuración de implementación activa , elija Sin activación.

    La selección de esta configuración de implementación permite activar manualmente la característica más adelante en SharePoint.

  9. Guarde el proyecto.

Configurar e implementar la aplicación de SharePoint

Ahora que el proyecto de SharePoint esté listo, configúrelo y impleméntelo en el servidor de SharePoint.

Para configurar e implementar la aplicación de SharePoint

  1. En el menú Analizar , elija Iniciar Asistente de rendimiento.

  2. En la página una Asistente de rendimiento, deje el método de generación de perfiles como Muestreo de la CPU y elija el botón Siguiente .

    Los otros métodos de generación de perfiles se pueden utilizar en escenarios de generación de perfiles más avanzados.Para obtener más información, vea Introducción a los métodos de generación de perfiles.

  3. En la página dos Asistente de rendimiento, deje el destino de perfil como ProfileTest y elija el botón Siguiente .

    Si una solución con varios proyectos, aparecen en esta lista.

  4. En la página tres Asistente de rendimiento, desactive la casilla Habilitar generación de perfiles de interacción de capa , y elija el botón Siguiente .

    El nivel de generación de perfiles de interacción de la característica de (TIP) es útil para medir el rendimiento de las aplicaciones que hacen referencia las bases de datos y para mostrar el número de veces que se solicita una página Web.Dado que esos datos no se requiere para este ejemplo, no habilitaremos esta característica.

  5. En la página cuatro Asistente de rendimiento, desactive la casilla La versión de generación de perfiles después del asistente finaliza seleccionada, y elija el botón Finalizar .

    El asistente permite la aplicación de generación de perfiles en el servidor, muestra la ventana Explorador de rendimiento , y a continuación compila, implementar, y ejecuta la aplicación de SharePoint.

Ejecutar la aplicación de SharePoint

Active la característica en SharePoint, desencadenar el código de evento FeatureActivation para ejecutarse.

Para ejecutar la aplicación de SharePoint

  1. En SharePoint, abra el menú Acciones del sitio y, a continuación Configuración del sitio.

  2. En la lista Acciones del sitio , elija el vínculo Administrar las características del sitio .

  3. En la lista Características , elija el botón Activar junto a ProfileTest Característica1.

    Hay una pausa al hacer esto, debido al bucle inactivo que llama a la función FeatureActivated .

  4. En la barra Inicio rápido , elija Listas y en la lista Listas , elija Anuncios.

    Observe que un nuevo anuncio se ha agregado a la lista que decía que la característica se activa.

  5. Cierre el sitio de SharePoint.

    Después de cerrar SharePoint, el generador de perfiles crear y mostrar un ejemplo de generación de perfiles el informe y guardarlo como un archivo .vsp en la carpeta de proyecto ProfileTest .

Vista e Interpreting los Resultados de generación de perfiles

Ahora que se ha ejecutado y ha generado perfiles de la aplicación de SharePoint, vea los resultados de pruebas.

Para ver e interpretar los resultados de generación de perfiles

  1. En la sección Funciones Doing el trabajo individual de ( de generación de perfiles de muestreo el informe, observe que TimeCounter está cerca de la parte superior de la lista.

    Esta ubicación indica que TimeCounter era una de las funciones con el mayor número de ejemplos, lo que significa que es uno de los cuellos de botella mayores de rendimiento de la aplicación.Esta situación no es sorprendentemente, sin embargo, como se diseñó adrede que forma demostración.

  2. En la sección Funciones Doing el trabajo individual de ( , elija el vínculo ProcessRequest para mostrar la distribución del costo de la función ProcessRequest .

    En la sección Funciones llamadas para ProcessRequest, observe que la función FeatureActiviated está lista como la función llamada más costosa.

  3. En la sección Funciones llamadas , elija el botón FeatureActivated .

    En la sección Funciones llamadas para FeatureActivated, la función TimeCounter se muestra como la función llamada más costosa.En el panel Vista de código de función , el código resaltado (TimeCounter) es la zona activa e indica donde es necesaria la corrección.

  4. Cierre el ejemplo de generación de perfiles el informe.

    Para ver el informe de nuevo en cualquier momento, abra el archivo .vsp en la ventana Explorador de rendimiento .

Corregir el código y el Reprofiling la aplicación

Ahora que la función de zona activa en la aplicación de SharePoint se ha identificado, corrijala.

Para corregir el código y reprofile la aplicación

  1. En el código del receptor de eventos de característica, marque como comentario la llamada al método TimeCounter en FeatureActivated para impedir denominado.

  2. Guarde el proyecto.

  3. En Explorador de rendimiento, abra la carpeta de destino y, a continuación el nodo ProfileTest .

  4. En la barra de herramientas Explorador de rendimiento , en la pestaña Acciones , elija el botón Iniciar generación de perfiles .

    Si desea cambiar las propiedades de generación de perfiles cualquiera de los antes de reprofiling la aplicación, elija el botón Iniciar Asistente de rendimiento en su lugar.

  5. Siga las instrucciones de la sección Ejecutar la aplicación de SharePoint , anteriormente en este tema.

    La característica debe provocar mucho más rápidamente ahora que la llamada a bucles inactivos se ha eliminado.El ejemplo de generación de perfiles el informe debe reflejar esto.

Vea también

Conceptos

Analizar el rendimiento de la aplicación mediante las herramientas de generación de perfiles

Información general sobre las sesiones de rendimiento de las herramientas de generación de perfiles

Guía básica para la generación de perfiles de rendimiento

Otros recursos

Aplicación Bottlenecks de búsqueda con Visual Studio Profiler