Mengapa situs php lambat?

Persaingan membantu mendorong peningkatan kinerja yang besar di PHP. Cara alternatif untuk menjalankan PHP menjadi layak, mempercepat kecepatan

Mengapa situs php lambat?

PHP bukanlah bahasa tercepat untuk menulis aplikasi web, namun kami terus menggunakannya karena berbagai alasan lainnya. Kecepatan murni suatu bahasa jarang menjadi faktor penentu utama untuk banyak proyek. Produktivitas pengembang, untuk satu hal, biasanya lebih penting. Dan di banyak aplikasi, kemacetan tidak akan terjadi pada kode aplikasi; . Misalnya, berkomunikasi dengan database, API, dan antrean pesan semuanya membutuhkan waktu

Jadi mengapa khawatir tentang kecepatan bahasa sama sekali? . Misalnya, caching yang lebih baik, pemrosesan asinkron, dan konsistensi akhirnya semuanya membantu, tetapi juga membuat kinerja kode aplikasi menjadi lebih penting. Mencoba mendapatkan kecepatan melalui pembuatan profil dan pengoptimalan kode bisa menjadi proses yang panjang dan membosankan. Untungnya, peningkatan dalam kecepatan bahasa itu sendiri memberi kami peningkatan di area lain ini secara gratis

Jadi mengapa PHP lambat dibandingkan dengan beberapa bahasa lain? . Ini berarti bahwa itu tidak dikompilasi ke bahasa mesin melainkan dibaca saat runtime. PHP juga memiliki arsitektur share-nothing, jadi pada setiap permintaan itu menginterpretasikan semuanya dari awal. Konsekuensi dari hal ini adalah kinerjanya tidak sebagus bahasa yang dikompilasi, tetapi juga memungkinkan fitur yang tidak dimiliki oleh bahasa yang dikompilasi.

Tidak perlu mengkompilasi PHP dapat membantu produktivitas pengembang dalam beberapa cara. Ini memungkinkan siklus umpan balik yang lebih pendek saat mengembangkan – hasil perubahan kode dapat langsung dilihat tanpa tahap kompilasi yang perlu dijalankan terlebih dahulu. Tidak perlu khawatir tentang pengumpulan sampah dan penggunaan memori. Debugging error runtime menjadi lebih mudah, karena Anda dapat langsung mengidentifikasi di mana kesalahan tersebut terjadi di kode sumber. Ini juga memungkinkan untuk kode dinamis seperti variabel variabel, tipe dinamis, dan sebagainya, meskipun harus berhati-hati dengan ini untuk menghindari membuat aplikasi Anda sulit untuk diuji.

Sedikit sejarah

PHP tumbuh dari beberapa binari CGI yang ditulis dalam bahasa C oleh Rasmus Ledorf. Untuk dapat menyematkan HTML dan tugas khusus web lainnya seperti penanganan formulir, dia menambahkan penguraian sintaks mirip Perl sederhana. Parser untuk PHP ini ditulis ulang oleh Zeev Suraski dan Andi Gutmans untuk rilis PHP3. PHP versi 4 melihat mesin Zend - cara yang benar-benar baru dalam menjalankan PHP - diperkenalkan. PHP 5 membawa serta versi ke-2 dari mesin Zend. Performa telah meningkat melalui semua rilis ini

Mesin Zend mem-parsing kode PHP dan mengubahnya menjadi opcode, yang kemudian diinterpretasikan. Peningkatan kinerja yang besar telah lama tersedia dengan menyimpan konversi ini ke opcode. Sampai versi 5. 5 dari PHP, caching ini membutuhkan ekstensi ke PHP - yang paling banyak digunakan adalah APC. Pada 5. 5 Caching opcode PHP sekarang menjadi bagian dari inti

Zend PHP menjadi versi de facto dari bahasa dan mesin yang menjalankannya. Ada alternatif untuk ini selama bertahun-tahun tetapi tidak ada yang benar-benar sukses

Cara alternatif menjalankan PHP

Upaya signifikan untuk mengganti mesin Zend adalah HipHop, upaya Facebook untuk menciptakan cara mengompilasi PHP ke C++, termotivasi oleh banyaknya PHP yang mereka gunakan. Ini berarti akan lebih sulit untuk menulis ulang ke hal lain daripada menemukan cara untuk membuatnya berjalan lebih cepat. Mereka juga menemukan bahwa mereka dapat menulis lebih produktif dalam PHP daripada dalam bahasa yang dikompilasi statis

Kelemahan utama HipHop, yang menyebabkan penghentiannya, adalah tidak dapat menggunakannya sebagai pengganti drop-in untuk Zend. Alur kerja konversi dan kompilasi bekerja secara berbeda dari proses normal untuk bekerja dengan PHP. Itu tidak dapat melakukan interpretasi runtime, sehingga tidak mendukung fitur PHP yang membutuhkannya. Ini membatasinya pada subset bahasa. Namun demikian, Facebook berhasil mengurangi overhead server, tetapi hanya ada adopsi terbatas oleh orang lain

Namun, upaya Facebook selanjutnya untuk mengatasi hal ini jauh lebih berhasil. HHVM (HipHop Virtual Machine) telah menggunakan pendekatan kompilasi JIT (Just in Time). Ini berbeda dengan Kompilasi Ahead of Time yang dilakukan oleh HipHop. HHVM mengkompilasi PHP ke kode byte yang kemudian diinterpretasikan oleh mesin virtual. JIT mungkin tidak secepat, tetapi tidak mencegah HHVM mendukung fitur dinamis PHP

Artinya HHVM adalah prospek nyata sebagai mesin alternatif untuk PHP. Upaya sedang dilakukan di seluruh komunitas PHP untuk mendapatkan kerangka kerja utama yang bekerja dengan HHVM [Ed. catatan. Drupal + HHVM  bekerja cukup baik pada November 2014. Lihat juga "Menjalankan Drupal di HHVM" oleh William Hurley di Forum One], yang telah menghapus apa yang akan menjadi batu sandungan besar untuk diadopsi

Proyek lain, HippyVM, menyediakan pendekatan serupa untuk membuat mesin virtual alternatif untuk PHP. Itu belum siap, tetapi sekali lagi bertujuan untuk kelengkapan - menjadikannya opsi drop-in yang potensial. Pendukungnya mengklaim bahwa itu bahkan lebih cepat daripada HHVM

Apa artinya ini bagi Zend Engine?

Apakah ini akhir dari Zend Engine? . Lebih dari itu. HHVM telah memberikan tantangan. Pengerjaan ulang utama mesin akan menjadi dasar PHP 7, rilis besar berikutnya. Versi baru ini, yang dikenal sebagai php-ng, bersaing dengan HHVM dalam hal kecepatan, serta memperkenalkan perubahan yang merupakan langkah menuju compiler JIT. Ini menunjukkan bahwa versi masa depan masih memiliki arah yang mungkin sebagai cara untuk mendapatkan lebih banyak kinerja

Menghindari fragmentasi

Jadi kali menarik untuk kinerja di PHP. Sekarang ada pesaing serius untuk mesin alternatif yang memicu persaingan untuk membantu mendorong kemajuan juga. Namun, ada kemungkinan bahaya dalam semua ini. risiko implementasi mesin yang berbeda akan menyebabkan implementasi PHP yang berbeda, di mana beberapa mesin mendukung beberapa fitur tetapi tidak yang lain

Fragmentasi semacam ini mungkin tidak mengarah pada mesin yang lebih baik tetapi malah membagi pengembang menjadi perlu memilih di antara mereka. Satu hal yang dapat melawan ini adalah spesifikasi formal untuk bahasa tersebut. Spesifikasi tersebut ada untuk bahasa lain, dan memungkinkan pembuatan runtime kompatibel yang berbeda. Ini cukup sulit untuk PHP karena ini bukan bahasa yang dirancang, tetapi bahasa yang tumbuh secara organik. Tim HHVM menyadari pentingnya hal ini dan telah menanggapinya dengan membuat spesifikasi untuk PHP

Untuk pertama kalinya, ada pesaing asli untuk cara alternatif menjalankan PHP. Persaingan antara ini sudah melihat beberapa peningkatan kinerja yang signifikan, yang tampaknya menjadi sesuatu yang akan tetap ada dengan manfaat berkelanjutan yang diperoleh untuk semua komunitas PHP

Bagaimana cara mempercepat situs web PHP?

Dalam artikel ini, kita akan mempelajari cara meningkatkan kinerja situs web dalam PHP. .
Gunakan Fungsi Asli PHP
Aktifkan OPCache di Server PHP
Perkecil Aset Statis & Caching
Tingkatkan ke Versi PHP Terbaru
Pahami Hambatan Kinerja
Pengoptimalan Kode

Bagaimana cara mengurangi waktu loading di PHP?

Anda dapat mempercepat pemuatan halaman dengan mengurangi jumlah permintaan HTTP yang dibuat . Setiap aset di halaman Anda (gambar, lembar gaya, file javascript, dll) mewakili permintaan HTTP, dan spesifikasi mengatakan Anda hanya dapat membuka 2 permintaan sekaligus. Permintaan tambahan apa pun akan diantrekan hingga yang pertama diselesaikan.

Apakah PHP lebih lambat dari HTML?

Jika dibandingkan, situs web statis akan memuat lebih cepat yaitu situs web berbasis HTML akan memuat lebih cepat daripada situs web dinamis yang dibuat dari WordPress. Selain itu, WordPress ditulis dalam PHP, dan semua file membutuhkan lebih banyak waktu untuk dieksekusi daripada file statis HTML .

Bagaimana cara memperbaiki situs web yang lambat?

Daftar Periksa Pemecahan Masalah Situs Web Lambat .
Bersihkan kode situs web Anda. Hapus elemen yang tidak perlu seperti spasi putih, komentar, dan spasi inline
Periksa versi PHP Anda. .
MySQL Server. Temukan kueri yang mengeksekusi lambat. .
Analisis konten situs web yang lambat. .
Percepat kinerja situs Anda. .
Periksa konten Anda