none
comportamento RPC:starting/SP:StmtStarting RRS feed

  • Domanda

  • Ciao a tutti, sto analizzando con sql server profile la traccia di un mio applicativo che esegue delle richieste su un db sql2008. Ho notato che spesso le query sono più lunghe del previsto, mi spiego meglio: se effettuo la chiamata al db da sql server management (utilizzando una vista per esempio) la query impiega qualche millisecondo per essere eseguita, analizzando la traccia però ho notato che la durata specificata in SP:StmtCompleted è appunto di qualche millisecondo, mentre quella in RPC:Completed è più elevata (20 o 30ms in più) e sembra che sia dovuto al fatto che la SP:StmtStarting si avvii dopo un tempo di 20-30ms della RPC:Starting. Da cosa può essere dovuto ?

    grazie

    mercoledì 11 aprile 2012 12:53

Tutte le risposte

  • Credo che nel tuo caso possa essere più indicato monitorare l'evento SP:Completed, visto che ti serve sapere il tempo procedure effettivo. Gli eventi RPC:* considerano anche il tempo della chiamata client/server (RPC sta appunto per Remote Procedure Call), mentre gli eventi SP:* si riferiscono alla SP "pura". Tieni da conto anche che Stmt si riferisce al singolo statement, quindi tra un SP:Starting e un SP:Completed potresti avere più Stmt:Starting/Completed, a seconda di quanti statement compongono la tua SP.

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter

    mercoledì 11 aprile 2012 15:53