0Pricing
PHP Academy · Pelajaran

Membuat Profil PHP dengan Xdebug

Aktifkan pembuatan profil Xdebug dan analisis output callgrind untuk menemukan fungsi yang lambat.

Membuat Profil PHP dengan Xdebug adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Apa Itu Xdebug?

Xdebug adalah ekstensi PHP yang menyediakan kemampuan penelusuran kesalahan, cakupan kode, dan pembuatan profil. Penganalisis kinerja mencatat durasi setiap pemanggilan fungsi dan berapa kali fungsi tersebut dipanggil.

Menginstal Xdebug

Instal melalui PECL atau pengelola paket.

# Via PECL:
$ pecl install xdebug
# Via apt:
$ apt install php-xdebug
# Verify:
$ php -v | grep Xdebug

Mengaktifkan Penganalisis Kinerja

Konfigurasikan Xdebug di php.ini untuk mengaktifkan pembuatan profil.

# php.ini
[xdebug]
zend_extension=xdebug.so
xdebug.mode=profile
xdebug.output_dir=/tmp/xdebug
xdebug.profiler_output_name=cachegrind.out.%t

Pembuatan Profil Berbasis Pemicu

Alih-alih membuat profil pada setiap permintaan, gunakan pemicu untuk membuat profil sesuai kebutuhan.

# php.ini
xdebug.mode=profile
xdebug.start_with_request=trigger

# Trigger via query parameter or cookie:
curl "https://example.com/?XDEBUG_PROFILE=1"

Keluaran Callgrind

Xdebug menulis berkas cachegrind.out.*. Format ini dapat dibaca oleh alat visualisasi pembuatan profil.

Menganalisis dengan KCachegrind / QCachegrind

Buka berkas Callgrind di KCachegrind (Linux) atau QCachegrind (macOS/Windows) untuk melihat: jumlah pemanggilan fungsi, total waktu, waktu mandiri, dan pohon pemanggilan.

Menganalisis dengan WebGrind

WebGrind adalah penampil Callgrind berbasis peramban — lebih mudah disiapkan daripada alat desktop.

$ docker run -p 8080:80 jokkedk/webgrind -v /tmp/xdebug:/tmp

Membaca Keluaran Penganalisis Kinerja

Cari fungsi dengan "Biaya Inklusif" tertinggi (total waktu termasuk fungsi yang dipanggilnya) dibandingkan dengan "Biaya Mandiri" (waktu hanya di dalam badan fungsi). Biaya mandiri menunjukkan hambatan kinerja yang sebenarnya.

Hambatan Kinerja yang Umum Ditemukan

Temuan umum meliputi: kueri basis data N+1, regex yang tidak efisien, pemanggilan API yang berulang, relasi Eloquent yang tidak dioptimalkan, dan penyajian tampilan yang mahal.

Pembuatan Profil dibandingkan dengan Penelusuran Kesalahan

Pembuatan profil mengukur kinerja (waktu, jumlah pemanggilan). Penelusuran kesalahan (juga merupakan fitur Xdebug) menghentikan eksekusi pada titik henti untuk memeriksa kode. Gunakan mode Xdebug yang terpisah.

Blackfire sebagai Alternatif

Blackfire.io adalah alat pembuatan profil komersial dengan antarmuka yang rapi, integrasi CI, dan pernyataan kinerja. Alat ini lebih disukai untuk lingkungan tim daripada pembuatan profil Xdebug mentah.

Ringkasan

Aktifkan mode penganalisis kinerja Xdebug di php.ini, picu sebuah permintaan, lalu buka berkas Callgrind di KCachegrind atau WebGrind. Fokuskan perhatian pada fungsi dengan biaya inklusif dan biaya mandiri tertinggi untuk menemukan hambatan kinerja.

Pemeriksaan Cepat

Apa arti "biaya mandiri" dalam laporan penganalisis kinerja?

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membuat Profil PHP dengan Xdebug” gratis?

Ya — teks lengkap “Membuat Profil PHP dengan Xdebug” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membuat Profil PHP dengan Xdebug”?

Aktifkan pembuatan profil Xdebug dan analisis output callgrind untuk menemukan fungsi yang lambat. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Membuat Profil PHP dengan Xdebug” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Profil PHP dengan Xdebug
  2. OPcache: Caching Bytecode
  3. Mengoptimalkan Kueri Basis Data
  4. Manajemen Memori dan Kiat Performa
← Kembali ke PHP Academy