Apa Selanjutnya Setelah Phalcon?

Membuat aplikasi yg cepat harus memperhatikan banyak aspek: server, client, jaringan, database, server web, sumber statis, dll. Dalam bab ini kita menyoroti skenario di mana Anda dapat meningkatkan kinerja dan bagaimana mendeteksi apa yang benar-benar lambat dalam aplikasi Anda.

Profiling pada Server 

Setiap aplikasi itu berbeda, profiling permanen sangatlah penting untuk memahami di mana kinerja dapat ditingkatkan. Profiling memberi kita gambaran nyata tentang apa yang benar-benar lambat dan apa yang tidak. Profiling dapat bervariasi antara request dan yang lain, sehingga sangat penting untuk membuat pengukuran yg cukup untuk membuat kesimpulan.

Profiling dengan XDebug 

Xdebug menyediakan cara yang lebih mudah untuk Profiling aplikasi PHP, hanya menginstal ekstensi dan enable profiling dalam php.ini:

xdebug.profiler_enable = On

Menggunakan tool seperti Webgrind Anda dapat melihat fungsi / metode yang lebih lambat daripada yang lain:

.. / _images / Webgrind.jpg

Profiling dengan Xhprof 

Xhprof adalah ekstensi lain yang bagus untuk Profiling aplikasi PHP. Tambahkan baris berikut ke awal file bootstrap:

<?php

xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

Kemudian pada akhir file, menyimpan data yang dihasilkan:

<?php

$xhprof_data = xhprof_disable('/tmp');

$XHPROF_ROOT = "/var/www/xhprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

Xhprof menyediakan html viewer built-in untuk menganalisa data Profiling:

../_images/xhprof-2.jpg
../_images/xhprof-1.jpg

Profiling Statement SQL 

Kebanyakan sistem database menyediakan alat-alat untuk mengidentifikasi pernyataan SQL yang lambat. Mendeteksi dan memperbaiki query yg lambat sangat penting dalam rangka meningkatkan kinerja di sisi server. Dalam kasus Mysql, Anda dapat menggunakan slow query log untuk mengetahui apakah query SQL menghabiskan lebih banyak waktu dari yang diharapkan:

log-slow-queries = /var/log/slow-queries.log
long_query_time = 1.5

Profiling pada Client 

Kadang-kadang kita mungkin perlu untuk meningkatkan loading elemen statis seperti gambar, javascript dan css untuk meningkatkan kinerja. Alat-alat berikut ini berguna untuk mendeteksi hambatan umum di sisi klien:

Profiling dengan Chrome / Firefox 

Sebagian besar browser modern memiliki alat untuk Profiling waktu loading halaman. Pada Chrome Anda dapat menggunakan web-inspector untuk mengetahui berapa banyak waktu u/ loading sumber daya (daftar file) yang berbeda ketika mengakses suatu halaman:

../_images/chrome-1.jpg

Firebug menyediakan fungsi yang sama pada firefox:

../_images/firefox-1.jpg

Yahoo! YSlow 

YSlow menganalisa halaman web dan menyarankan cara-cara untuk meningkatkan kinerja mereka berdasarkan seperangkat aturan untuk halaman web berkinerja tinggi

../_images/yslow-1.jpg

Profiling dengan Speed-Tracer 

Speed ​​Tracer adalah alat untuk membantu Anda mengidentifikasi dan memperbaiki masalah kinerja dalam aplikasi web Anda. Tool ini memvisualisasikan metrik yang diambil dari titik instrumentasi tingkat rendah dalam browser dan analisisnya ketika aplikasi Anda berjalan. Speed Tracer tersedia sebagai ekstensi Chrome dan bekerja pada semua platform di mana ekstensi yang saat ini didukung (Windows dan Linux).

.. / _images / Speed-tracer.jpg

Alat ini sangat berguna karena membantu Anda untuk mendapatkan waktu sebenarnya yg dibutuhkan untu me-render seluruh halaman termasuk parsing HTML, evaluasi Javascript dan styling CSS.

Gunakan versi PHP terbaru 

PHP lebih cepat setiap hari, menggunakan versi terbaru meningkatkan kinerja aplikasi Anda dan juga Phalcon.

Gunakan PHP Bytecode Cache 

APC sebagaimana cache bytecode lainnya, membantu aplikasi untuk mengurangi beban/overhead dari membaca, tokenize dan mem-parsing file PHP dalam setiap permintaan. Setelah ekstensi terinstal, jgn lupa untuk mengaktifkan APC:

apc.enabled = On

PHP 5.5 memiliki cache bytecode built-in yang disebut ZendOptimizer+, ekstensi ini juga tersedia untuk 5,3 dan 5,4.

Jangan menghindari proses-background 

Proses video, mengirim e-mail, kompres file atau gambar, dll, adalah tugas yang lambat yang harus diproses di background. Ada berbagai alat yang menyediakan antrian atau pesan sistem yang bekerja dengan baik dengan PHP:

Google Page Speed 

mod_pagespeed mempercepat situs Anda dan mengurangi waktu u/ membuka halaman. Modul Open-source Apache HTTP server ini (juga tersedia untuk nginx sebagai ngx_pagespeed) secara otomatis menerapkan best-practice/trik terbaik demi kinerja web ke halaman, dan aset terkait (CSS, JavaScript, gambar) tanpa memerlukan modifikasi konten atau alur kerja yang ada.

Terjemahan dr Apa Selanjutnya Setelah Phalcon?
http://docs.phalconphp.com/en/latest/reference/whats-next.html