Siirry pääsisältöön

Suorituskyvyn profilointi: Xdebug & Webgrind

Ohje PHP-koodin profilointiin Xdebug- ja Webgrind-työkaluilla. Lue kuinka otat Xdebug-profiloinnin käyttöön Seravon kehitysympäristössä, analysoit tuloksia Webgrindillä ja löydät koodin hitaat kohdat.

Päivitetty tällä viikolla

Huom: Xdebug on tarkoitettu ainoastaan kehitysympäristöihin. Käytä tuotantosivustoilla Tideways-palvelua.

Mikä on Xdebug?

Xdebug on PHP-kielelle tarkoitettu laajennus vianetsintään ja suorituskyvyn analysointiin. Seravolla käytämme sitä pääasiassa profilointiin, ja se on asennettu oletuksena Docker-kehitysympäristöön.

Sivujen profilointi Xdebugilla ja Webgrindillä

Voit profiloida minkä tahansa sivun paikallisessa Docker-ympäristössäsi lisäämällä URL-osoitteen perään parametrin ?XDEBUG_PROFILE.

Tämä luo uuden dbkg dumpin, jota voit analysoida suoraan selaimessa Webgrind-työkalun avulla.

Esimerkki: WP-hallintapaneelin profilointi

  1. Kirjaudu Docker-konttiin komennolla ssh wordpress.local -F .vagrant/ssh/config ja aja kontin sisällä komento wp-xdebug-on varmistaaksesi, että Xdebug on aktiivinen.

  2. Vieraile osoitteessa: http://webgrind.wordpress.local/

  3. Klikkaa Update-painiketta ja odota, että Webgrind analysoi tiedot.

  4. Näet hallintapaneelin latautumisen profilointitiedot, joiden avulla voit etsiä hitaita funktioita ja optimoida koodia.

Xdebug in Vagrant

Xdebug Helper -selinlaajennuksen käyttö

Profiloinnin ja koodin seurannan (trace) voi käynnistää helposti myös Xdebug Helper -selinlaajennuksella (saatavilla Chromelle ja Firefoxille). Optimaalisen toiminnan varmistamiseksi käytä seuraavia asetuksia:

  • IDE key: vagrant

  • Trace Trigger Value: XDEBUG_TRACE

  • Profile Trigger Value: XDEBUG_PROFILE

Etävianetsintä (Remote Debugging) Xdebugilla

Xdebugia voidaan käyttää myös interaktiiviseen vianetsintään etänä, joka mahdollistaa koodin pysäyttämisen haluamassasi kohdassa. Katso tarkemmat ohjeet vianetsinnän määrittämiseen käyttämäsi IDE:n dokumentaatiosta.

Vastasiko tämä kysymykseesi?