Domanda

Sto cercando di trovare il modo migliore per monitorare quale codice PHP / funzioni, richieste di MySQL e / o plugin stanno rallentando le pagine di un sito.

So che ci sono un sacco di opzioni diverse là fuori tra cui i plugin wordpress e soluzioni che coinvolgono Firebug (FirePHP), ma che cosa voi ragazzi senti è l'approccio migliore?

Personalmente mi sento la soluzione ideale sarebbe quella di avere un qualche tipo di codice che può essere installato di default in ogni installazione di WordPress. Qualsiasi debug / monitoraggio / reporting ottiene solo eseguito se si aggiunge una voce facoltativa alla fine dell'URL come? = Debug. Per motivi di sicurezza, sarebbe ancora meglio se si sarebbe prima effettuare l'accesso per l'area di amministrazione di WordPress e creare una chiave temporanea di debug che creerebbe una chiave hash e aggiungerlo all'URL (come debugkey = v09098v09aq2ov1a8923), che sarebbe solo disponibile per 30 minuti.

Ma tornando alle informazioni di debug reale ... Mi sento usando Firebug è grande in molte situazioni, ma opzionalmente sento che sarebbe utile se si potesse aggiungere qualcos'altro da qualsiasi URL che sarebbe ad esempio di sovrapposizione tutte le funzioni, ganci o filtri utilizzati su una pagina specifica con il tempo di esecuzione per ogni.

In ogni caso ... ho pensato che molti di voi qui deve aver affrontato questi problemi come bene e quindi apprezzerei qualunque soluzioni si stanno utilizzando per risolvere i vostri problemi.

Si prega di fare contorno come qualsiasi specifiche per gli altri che potrebbero leggere questo descrivendo eventuali specifiche per l'installazione e come usarlo correttamente.

AGGIORNAMENTO Esecuzione di un server Linux dedicato

È stato utile?

Soluzione

Non ci sono più strumenti e possibilità, e shure sarebbe bello avere qualcosa di veloce a portata di mano. So che gli autori di plugin che offrono flag di debug in modo da poter analizzare ciò che sta succedendo abbastanza facile.

Per quanto riguarda i plugin, non ho provato, ma guardato alcuni screenshot ed è almeno informativo: Debug Bar (Wordpress Plugin) e il BlackBox Debug Bar (Wordpress Plugin ) .

Un altro è un hooktracer che non è ben nota: SJ Hook Profiler .

io pesantemente consiglio xdebug per i sistemi di test di sviluppo e, è un piacere per averlo se è necessario profilo o di debug roba.

Altri suggerimenti

XHProf (open source, parte di Facebook stack per il loro monitoraggio delle prestazioni) è il dolore per l'installazione (almeno per Windows persona come me), ma è molto completa e strumento di profiler conveniente prestazioni per PHP.

vorrei che fosse la versione vittoria per il mio stack test locale. : (

Posso solo raccomandare la classe PHP Krumo che può essere aggiunto entro 10 secondi a qualsiasi installazione e doesn' t dipendono qualsiasi configurazione locale. Quindi, anche se sei fuori e lontano del vostro ufficio si ha uno strumento di debug con voi. Basta essere sicuri di caricarlo dopo qualsiasi altro file e caricarlo con if ( current_user_can('manage_options') ) krumo::enable(); in modo che nessuno degli ospiti o altre piste utenti nei messaggi deugging se stai debug qualcosa che è già vivo.

Non c'è indicare che cosa il vostro arrangiamento server. Se ci si trova in un ambiente di hosting condiviso avete opzioni limitate. Se si tratta di un proprio server, è possibile installare diversi strumenti di profiling per ottenere il quadro generale. Guardate questa discussione sopra su SO per alcune opzioni .

Inoltre, la lentezza della pagina visualizzata può essere il risultato di un sacco di cose, solo alcuni dei quali sono PHP / MySQL correlati. Si possono avere problemi di DNS, la congestione netta al client o lato server, le pagine mal pianificate che hanno un sacco di JS carico precoce, piuttosto che in ritardo, ecc ecc.

Per testare la catena alimentare fondamentale della connessione di rete + consegna del server della pagina HTML di base, provare a utilizzare il Apache programma Benchmark. ! attento Si può battere la merda di un server con questo cucciolo, e la vostra società di hosting non sarà divertito se si fa una sola persona imitazione di un attacco DOS sulla loro macchina.

Aggiornamento: OK, un server dedicato Linux offre opzioni importanti. In particolare, io doppio giù su xdebug e la sua capacità di profilare l'esecuzione di codice. E 'incredibile quanto velocemente un paio di corse sotto un profiler può brillare una luce brillante su alcune funzioni innocente che sta masticando la macchina.

Se non si apre immediatamente fuori di te, sguardo per le routine che sembrano prendere più tempo di quanto dovrebbero (qualunque sia che mezzi) e / o sembrano essere sempre chiamato molto . Il seguito può spesso essere rettificata semplicemente la memorizzazione nella cache i risultati di certi valori. Se questo è un problema generale che coinvolge diverse funzioni, ad alto costo di essere chiamato con diversi parametri, si può guardare a < em> memoizing le funzioni interessate. Ho fatto più volte in Python, ma non in PHP. Ecco un articolo sulla di una persona approccio . Ci sono più messaggi su questo argomento là fuori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top