Procedura dettagliata: Profilatura di un'applicazione SharePoint
In questa procedura dettagliata viene illustrato come utilizzare gli strumenti di profilatura in Visual Studio per ottimizzare le prestazioni di un'applicazione SharePoint. L'applicazione di esempio è un ricevitore di eventi di funzionalità SharePoint contenente un ciclo inattivo che comporta una riduzione delle prestazioni del ricevitore di eventi di funzionalità. Il profiler di Visual Studio consente di individuare ed eliminare la parte più costosa (con prestazioni più lente) del progetto, nota anche come percorso critico.
In questa procedura dettagliata sono illustrati i task seguenti:
Aggiungere una funzionalità e un ricevitore di eventi di funzionalità.
Configurare e distribuire l'applicazione SharePoint.
Eseguire l'applicazione SharePoint.
Visualizzare e interpretare i risultati del profilo.
Nota
I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.
Prerequisiti
Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:
Edizioni supportate di Microsoft Windows e SharePoint.
Visual Studio 2012.
Creare un progetto di SharePoint
Creare innanzitutto un progetto SharePoint.
Per creare un progetto SharePoint
Nella barra dei menu scegliere File>nuovo>progetto per visualizzare la finestra di dialogo Nuovo progetto.
Espandere il nodo SharePoint in Visual C# o Visual Basic e quindi scegliere il nodo 2010 .
Nel riquadro modelli scegliere il modello progetto di SharePoint 2010.
Nella casella Nome immettere ProfileTest e quindi scegliere il pulsante OK.
Verrà visualizzata la Personalizzazione guidata SharePoint.
Nella pagina Specificare il sito e il livello di sicurezza per il debug immettere l'URL per il sito del server SharePoint in cui si vuole eseguire il debug della definizione del sito oppure usare il percorso predefinito (http:// nome del sistema/).
Nella sezione Qual è il livello di attendibilità per questa soluzione SharePoint? scegliere il pulsante di opzione Distribuisci come soluzione farm.
Attualmente, è possibile profilare solo soluzioni farm. Per altre informazioni sulle soluzioni in modalità sandbox e sulle soluzioni farm, vedere Considerazioni sulle soluzioni in modalità sandbox.
Fare clic sul pulsante Finish . Il progetto viene visualizzato in Esplora soluzioni.
Aggiungere una funzionalità e un ricevitore di eventi di funzionalità
Successivamente, aggiungere una funzionalità al progetto insieme a un ricevitore di eventi per la funzionalità. In questo ricevitore di eventi sarà incluso il codice da profilare.
Per aggiungere una funzionalità e un ricevitore di eventi di funzionalità
In Esplora soluzioni aprire il menu di scelta rapida per il nodo Funzionalità, scegliere Aggiungi funzionalità e lasciare il nome al valore predefinito Feature1.
In Esplora soluzioni aprire il menu di scelta rapida per Feature1 e quindi scegliere Aggiungi ricevitore di eventi.
Verrà aggiunto un file di codice alla funzionalità con diversi gestori di eventi impostati come commenti e viene aperto il file da modificare.
Nella classe del ricevitore di eventi aggiungere le seguenti dichiarazioni di variabili.
Sostituire la procedura
FeatureActivated
con il codice seguente.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()); } }
Aggiungere la procedura seguente sotto la
FeatureActivated
procedura.In Esplora soluzioni aprire il menu di scelta rapida per il progetto (ProfileTest) e quindi scegliere Proprietà.
Nella finestra di dialogo Proprietà scegliere la scheda SharePoint.
Nell'elenco Configurazione distribuzione attiva scegliere Nessuna attivazione.
Se si seleziona questa configurazione di distribuzione è possibile attivare manualmente la funzionalità in un secondo momento in SharePoint.
Salvare il progetto.
Configurare e distribuire l'applicazione SharePoint
Una volta pronto il progetto SharePoint, è possibile configurarlo e distribuirlo nel server SharePoint.
Per configurare e distribuire l'applicazione SharePoint
Scegliere Avvia configurazione guidata prestazioni dal menu Analizza.
Nella pagina 1 della Procedura guidata prestazioni lasciare il metodo di profilatura come campionamento della CPU e scegliere il pulsante Avanti .
Gli altri metodi di profilatura possono essere utilizzati in situazioni di profilatura più avanzate. Per altre informazioni, vedere Informazioni sui metodi di raccolta delle prestazioni.
Nella seconda pagina della Procedura guidata prestazioni lasciare la destinazione del profilo come ProfileTest e scegliere il pulsante Avanti .
Se in una soluzione sono disponibili più progetti, vengono visualizzati in questo elenco.
Nella terza pagina della Procedura guidata prestazioni deselezionare la casella di controllo Abilita profilatura interazione tra livelli e quindi scegliere il pulsante Avanti .
La funzionalità di profilatura interazione tra livelli (TIP) è utile per misurare le prestazioni di applicazioni in cui vengono eseguite query sui database e per visualizzare il numero di volte in cui viene richiesta una pagina Web. Poiché i dati non sono necessari per questo esempio, la funzionalità non verrà abilitata.
Nella pagina quattro della Procedura guidata prestazioni lasciare selezionata la casella di controllo Avvia profilatura al termine della procedura guidata e quindi scegliere il pulsante Fine .
La procedura guidata abilita la profilatura delle applicazioni nel server, visualizza la finestra Esplora prestazioni, quindi compila, distribuisce ed esegue l'applicazione SharePoint.
Eseguire l'applicazione SharePoint
Attivare la funzionalità in SharePoint, attivando il codice dell'evento FeatureActivation
da eseguire.
Per eseguire l'applicazione SharePoint
In SharePoint aprire il menu Azioni sito e quindi scegliere Impostazioni sito.
Nell'elenco Azioni sito scegliere il collegamento Gestisci funzionalità del sito.
Nell'elenco Funzionalità scegliere il pulsante Attiva accanto a ProfileTest Feature1.
Vi sarà una pausa quando verrà eseguita questa operazione, a causa del ciclo inattivo chiamato nella funzione
FeatureActivated
.Sulla barra Avvio veloce scegliere Elenchi e quindi nell'elenco Elenchi scegliere Annunci.
Si noti che un nuovo annuncio è stato aggiunto all'elenco per indicare che la funzionalità è stata attivata.
Chiudere il sito di SharePoint.
Dopo aver chiuso SharePoint, il profiler crea e visualizza un report di profilatura di esempio e lo salva come file con estensione vsp nella cartella del progetto ProfileTest .
Visualizzare e interpretare i risultati del profilo
Dopo aver eseguito e profilato l'applicazione SharePoint, visualizzare i risultati del test.
Per visualizzare e interpretare i risultati del profilo
Nella sezione Funzioni che eseguono il lavoro più individuale del report di profilatura di esempio, si noti che
TimeCounter
si trova nella parte superiore dell'elenco.Questa posizione indica che
TimeCounter
è una delle funzioni con il numero più elevato di campioni, pertanto è uno dei più grandi colli di bottiglia delle prestazioni nell'applicazione. Questa situazione non è insolita, tuttavia, dal momento che si tratta di una modalità progettata espressamente a scopo dimostrativo.Nella sezione Funzioni che eseguono il lavoro più individuale scegliere il
ProcessRequest
collegamento per visualizzare la distribuzione dei costi per laProcessRequest
funzione.Nella sezione Funzioni chiamate per
ProcessRequest
si noti che la funzione FeatureActiviated è elencata come la funzione chiamata più costosa.Nella sezione Funzioni chiamate scegliere il pulsante FeatureActivated .In the Called functions section, choose the FeatureActivated button.
Nella sezione Funzioni chiamate per FeatureActivated la
TimeCounter
funzione è elencata come la funzione chiamata più costosa. Nel riquadro Visualizzazione codice funzione il codice evidenziato (TimeCounter
) è l'hotspot e indica dove è necessaria la correzione.Chiudere il Rapporto sulla profilatura dei campioni.
Per visualizzare di nuovo il report in qualsiasi momento, aprire il file con estensione vsp nella finestra Esplora prestazioni.
Correggere il codice e ripetere il file dell'applicazione
Una volta identificata la funzione relativa all'area sensibile nell'applicazione SharePoint, correggerla.
Per correggere il codice e riprofilare l'applicazione
Nel codice del ricevitore di eventi di funzionalità impostare come commento la chiamata al metodo
TimeCounter
inFeatureActivated
per impedire che venga chiamato.Salvare il progetto.
In Esplora prestazioni aprire la cartella Destinazioni e quindi scegliere il nodo ProfileTest .
Nella scheda Azioni della barra degli strumenti esplora prestazioni scegliere il pulsante Avvia profilatura.
Se si desidera modificare una delle proprietà di profilatura prima di riprovare l'applicazione, scegliere invece il pulsante Avvia esecuzione guidata prestazioni.
Seguire le istruzioni nella sezione Esecuzione dell'applicazione SharePoint, in precedenza in questo argomento.
L'attivazione della funzionalità dovrebbe essere molto più veloce una volta che è stata eliminata la chiamata al ciclo inattivo. Il Rapporto sulla profilatura dei campioni dovrebbe riflettere questa situazione.
Contenuto correlato
- Panoramica delle sessioni di prestazioni
- Guida per principianti alla profilatura delle prestazioni
- Find Application Bottlenecks with Visual Studio Profiler (Trovare i colli di bottiglia delle applicazioni con il profiler di Visual Studio)