Instal dan/atau aktifkan akselerator php (sangat disarankan).

Akselerator PHP secara substansial meningkatkan kinerja perangkat lunak berbasis PHP seperti WordPress. Menjalankan situs dengan lalu lintas tinggi yang didukung oleh aplikasi PHP hanya dimungkinkan karena akselerator PHP. Manfaat kinerjanya sangat bervariasi karena bergantung pada banyak faktor, termasuk pengoptimalan lain yang mungkin perlu Anda terapkan di situs Anda.  

Pada artikel ini Anda akan mempelajari cara kerja akselerator PHP, mengapa Anda membutuhkannya, akselerator PHP mana yang terbaik untuk situs WordPress Anda, dan bagaimana Anda dapat menginstal dan mengonfigurasinya

Bersemangat?

Apa itu Akselerator PHP?

Akselerator PHP adalah ekstensi PHP yang meningkatkan kinerja aplikasi PHP. Ekstensi ini bekerja dengan menyimpan opcode (atau kode operasi) yang dihasilkan oleh file PHP. Untuk alasan ini, akselerator PHP juga disebut sebagai Opcode Caching.  

Bagaimana akselerator PHP (atau Opcode Caching) bekerja

Skrip PHP ditulis dalam sintaksis yang dapat dibaca manusia, tetapi server (atau unit pemrosesan pusat) tidak dapat memahami kode ini secara langsung. Itu perlu diubah menjadi format yang dapat dibaca oleh server secara langsung. Di sinilah Opcode masuk.  

Opcode adalah bagian dari instruksi bahasa mesin yang mengarahkan server pada operasi apa yang harus dilakukan. Umumnya, instruksi ini cukup sederhana, seperti menambahkan dua angka atau menggabungkan dua atau lebih string. Bagian lain dari instruksi bahasa mesin termasuk operan, item yang dimanipulasi oleh opcode

Setiap kali pengguna meminta sesuatu di situs Anda, membuat opcode dari skrip PHP bisa sangat membebani server web Anda. Pertama, skrip perlu diberi token dan diuraikan untuk menghasilkan pohon sintaksis abstrak (AST), yang kemudian dikompilasi untuk membuat opcode.   

Dalam beberapa kasus ekstrem, proses ini dapat membuat situs web Anda dirayapi oleh banyak pengguna. Jika jumlah permintaan besar, maka server kehabisan waktu untuk banyak pengguna, mengunci mereka dari mengakses situs web sama sekali

Anda dapat mengatasi masalah ini dengan menyimpan opcode sebagai cache (OpCache) setelah dibuat. Anda kemudian dapat menyajikannya langsung ke semua pengguna berikutnya tanpa melibatkan server. Inilah yang dilakukan akselerator PHP

Bukan hal yang aneh melihat situs WordPress dipercepat dua hingga tiga kali (atau lebih) setelah menginstal dan mengonfigurasi akselerator PHP

Akselerator PHP Terbaik

PHP diluncurkan pada tahun 1995, menjadikannya salah satu bahasa server-side tertua yang bertahan hingga saat ini. Sepanjang masa pakainya, ada banyak akselerator (caching opcode) yang diimplementasikan untuk itu, tetapi untuk pengaturan server yang berjalan di Linux, hanya ada satu solusi yang terpelihara dengan baik dan berguna. OPcache PHP

Untuk aplikasi PHP yang berjalan di Windows dan Windows Server, ada akselerator PHP alternatif yang disebut Ekstensi Cache Windows untuk PHP. Plus, ada banyak ekstensi untuk menambahkan fitur ke caching opcode bawaan PHP. Saya akan membahas semuanya di artikel ini

OPcache PHP (Zend OPcache)

Ekstensi PHP OPcache membuat kode PHP dieksekusi lebih cepat melalui caching opcode dan teknik pengoptimalan lainnya. Itu dibundel bersama dengan PHP 5. 5 dan versi yang lebih baru.  

PHP OPcache juga disebut Zend OPcache karena merupakan implementasi dari ekstensi caching opcode Zend. Zend mempertahankan kepemilikan ekstensi ini hingga PHP 5. 5 dirilis. Oleh karena itu, bagi banyak pengguna Cache PHP Alternatif (APC) adalah solusi masuk untuk caching opcode di PHP.   

Setelah Zend membuka sumber kode untuk caching opcode mereka dan merilisnya sebagai ekstensi yang disebut Zend OPcache, PHP 5. 5 menjadikannya bagian dari intinya dan telah menggunakannya sebagai solusi caching opcode default sejak saat itu.  

PHP OPcache bekerja dengan menyimpan cache opcode di memori bersama

PHP OPcache meningkatkan kinerja dengan menyimpan bytecode yang telah dikompilasi dalam memori bersama server ketika skrip PHP apa pun dijalankan untuk pertama kalinya. Ini menghilangkan membaca dan menyusun kode PHP untuk akses di masa mendatang. PHP OPcache juga menerapkan pola optimisasi bytecode tambahan untuk membuat eksekusi kode PHP lebih cepat

Cache Pengguna APC (APCu)

Cache PHP alternatif (APC) adalah akselerator PHP sumber terbuka dan gratis. Seperti Zend OPcache, ini terutama dirancang untuk meng-cache keluaran opcode PHP di memori bersama server. Karena selalu menggunakan FOSS, ini adalah solusi caching opcode paling populer untuk PHP hingga beberapa tahun yang lalu.  

Setelah PHP OPcache menjadi bagian dari PHP 5. 5, perkembangan APC sangat melambat dan dianggap mati sekarang. Namun, beberapa fitur APC masih belum tersedia di PHP OPcache. Salah satunya adalah fungsi cache memori bersama userland. Ini juga disebut sebagai "caching data dalam memori. ”

Untuk mengatasi masalah ini, pengembang APC menghapus semua fitur caching opcode dan merilisnya sebagai ekstensi terpisah yang disebut APCu. Itu menambahkan dukungan untuk caching userland dari variabel PHP.   

Anda juga dapat menginstal Modul Kompatibilitas Mundur APCu untuk menggunakan APCu sebagai pengganti pengganti APC dalam versi PHP modern

Anda akan belajar nanti cara mengaktifkan dan mengonfigurasi PHP OPcache dan APCu di server Anda

Ekstensi Cache Windows untuk PHP

Ekstensi Cache Windows untuk PHP adalah akselerator PHP yang mempercepat perangkat lunak PHP di Windows dan Windows Server. Itu tidak termasuk dukungan untuk caching opcode karena PHP sudah memasukkannya ke dalam intinya, tetapi itu termasuk 4 jenis cache yang unik.  

  • File Cache — PHP OPCache hanya meng-cache opcode yang dihasilkan oleh skrip PHP. Mesin PHP masih harus mengakses file skrip di server. Melakukan operasi file dapat menyebabkan overhead kinerja yang signifikan, jadi ekstensi ini menyertakan cache file yang dapat menyimpan skrip PHP di memori bersama
  • Selesaikan Cache Jalur File — Sebagian besar skrip PHP menggunakan jalur file relatif untuk merujuk ke setiap file unik. Mesin PHP harus mengubahnya menjadi jalur file absolut untuk mengaksesnya. Jika ada banyak file yang direferensikan seperti ini, dapat menyebabkan masalah kinerja. Ekstensi ini menyimpan pemetaan semua jalur file relatif dan absolut sebelumnya sehingga mesin PHP tidak menghabiskan terlalu banyak waktu untuk menyelesaikan jalur file
  • Cache Pengguna — Cache ini berfungsi mirip dengan cache memori bersama pengguna APCu. Skrip PHP dapat menggunakan API cache pengguna untuk menyimpan objek dan variabel dalam cache pengguna dan menggunakannya kembali pada permintaan selanjutnya. Tidak hanya meningkatkan kinerja skrip PHP, tetapi juga memungkinkan mesin PHP untuk berbagi data di beberapa proses PHP
  • Session Handler — Ini menyimpan data sesi PHP di memori bersama server untuk menghindari melakukan operasi sistem file untuk membaca dan menulis data sesi. Akan sangat membantu jika sejumlah besar data dihasilkan dalam satu sesi PHP.  

Sebagian besar instalasi WordPress menggunakan server Linux. Jika Anda salah satu dari selusin pengguna yang menggunakan Windows Server untuk menjalankan situs Anda, Anda dapat mempelajari lebih lanjut tentang menginstal dan mengonfigurasi WinCache di manual online-nya

Instalasi dan Konfigurasi PHP OPcache

Untuk PHP5. 5 ke atas, PHP mengkompilasi OPcache secara default sebagai ekstensi bersama selama instalasi PHP. Namun, jika Anda menentukan direktif –disable-all saat menginstal PHP, maka Anda perlu mengizinkan OPcache secara eksplisit dengan menentukan direktif –enable-opcache

Setelah Anda mengkompilasi ekstensi OPcache, Anda perlu mengaktifkannya dan mengonfigurasi variabelnya.  

Anda harus menggunakan direktif zend_extension untuk mengaktifkan ekstensi OPcache. Untuk melakukannya, tambahkan semua kode berikut ke php.ini Anda. file ini

zend_extension=/full/path/to/opcache.so

Catatan. Jika Anda memiliki penginstalan server non-standar dan tidak mengetahui jalur lengkapnya, maka Anda dapat menentukan direktif extension_dir untuk memberi tahu PHP agar mencari ekstensi yang dimuat secara dinamis di direktori tersebut. Juga, untuk instalasi berbasis Windows jalurnya adalah C. \path\ke\php_opcache. dll.  

Setelah Anda mengaktifkan OPcache, Anda perlu menerapkan pengaturan yang tepat untuk mendapatkan kinerja maksimal darinya. Untuk sebagian besar kasus penggunaan, Anda dapat menambahkan pengaturan berikut ke php.ini Anda. file ini

opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1_

Berikut rincian dari semua arahan dan apa yang mereka lakukan

  • opcache. konsumsi_memori. Mengatur ukuran penyimpanan memori bersama yang tersedia untuk OPcache. Nilai ditentukan dalam megabita dan nilai standarnya untuk PHP 7. 0 ke atas adalah 128, tetapi Anda dapat mengaturnya lebih dari itu jika diperlukan.  

Sebelum mengubah nilai ini, pastikan server Anda memiliki ruang memori bersama yang cukup untuk layanan lain seperti MySQL.  

  • opcache. interned_strings_buffer. Menentukan jumlah memori yang tersedia untuk menyimpan string yang diinternir. String interning adalah metode pengoptimalan kinerja di mana hanya satu salinan dari setiap string yang berbeda disimpan dalam memori, membuat tugas pemrosesan string hemat ruang dan waktu.  

Nilai standarnya adalah 8 megabita. Anda dapat meningkatkan nilainya menjadi 16 jika Anda menjalankan banyak kode di situs Anda

  • opcache. max_accelerated_files. Menentukan jumlah maksimum skrip PHP yang dapat disimpan dalam tabel hash OPcache. Nilai minimumnya adalah 200, tetapi Anda dapat mengaturnya hingga 1000000 di PHP 5. 5. 6 dan versi yang lebih baru. Anda harus mencatat bahwa nilai aktual yang digunakan oleh OPcache adalah dan bukan nilai itu sendiri

Untuk menemukan nilai sempurna untuk disetel di sini, Anda dapat menghitung jumlah file PHP di server Linux Anda dengan menjalankan perintah

find . -type f -print | grep php | wc -l

perintah di terminal Anda. Tetapkan nilai arahan ini lebih besar dari jumlah file PHP di server Anda. Untuk sebagian besar instalasi WordPress, menyetelnya ke 10.000 akan ideal.  

  • opcache. validasi ulang_freq. Mengarahkan OPcache pada seberapa sering perlu memeriksa stempel waktu skrip untuk pembaruan apa pun. Nilainya ditetapkan dalam hitungan detik. Jika Anda menyetelnya ke 0, OPcache akan memeriksa pembaruan pada setiap permintaan, yang setara dengan tidak mengaktifkan opcode caching

Jika Anda tidak sering memperbarui situs, Anda dapat menyetel nilai ini ke 3600 detik. Untuk tujuan pengembangan, Anda dapat menonaktifkan berdasarkan fitur dengan menyetel direktif ke 0.  

  • opcache. fast_shutdown. Mengaktifkan urutan penonaktifan cepat untuk OPcache. Ini mempercepat waktu respons dan daur ulang pekerja PHP sehingga mereka siap menerima permintaan tambahan dengan segera. OPcache mencapai ini dengan menggunakan pengelola memori Zend Engine untuk membatalkan penetapan semua permintaan sekaligus

Sejak PHP 7. 2, varian dari direktif ini telah diintegrasikan ke dalam PHP inti dan akan digunakan secara otomatis jika memungkinkan

  • opcache. aktifkan_cli. Mengaktifkan opcode caching untuk versi CLI dari PHP. Menyetel flag ke 1 akan mengaktifkan caching opcode di server Anda. Anda dapat menonaktifkan caching opcode untuk pengembangan dan pengujian dengan menyetel benderanya ke 0.   

Untuk perincian lebih lanjut dan definisi arahan OPcache yang dapat Anda gunakan, lihat manual konfigurasi runtime PHP OPcache. Jika Anda beralih antara tahap pengembangan dan produksi, disarankan untuk membiasakan diri dengan semua arahan OPcache untuk memanfaatkan semuanya secara maksimal

Memeriksa Status OPcache PHP

Anda dapat memeriksa status OPcache di server Anda dengan menjalankan fungsi opcache_get_status().  

Jika OPCache diaktifkan di server Anda, itu akan mengembalikan larik yang berisi semua properti caching opcode. Ini dia. Jika OPcache dinonaktifkan di server Anda, maka itu hanya akan mengembalikan false

Anda dapat menyambungkan parameter get_scripts opsional ke fungsi ini untuk mendapatkan informasi status khusus skrip. Sebagai alternatif, Anda juga dapat menggunakan fungsi opcache_get_configuration() untuk mendapatkan informasi konfigurasi OPcache, termasuk INI, daftar hitam, dan versi OPcache yang digunakan

Untuk daftar terperinci dari semua fungsi OPcache, Anda dapat merujuk ke manual fungsi PHP OPcache

Memantau dan Mengelola PHP OPcache

Ada banyak ekstensi PHP yang memungkinkan Anda mengelola fitur OPcache dengan mudah melalui antarmuka grafis. Dua ekstensi yang paling direkomendasikan untuk tujuan ini adalah OpCacheGUI dan opcache-gui (nama serupa, tetapi ekstensi berbeda)

ekstensi OpCacheGUI untuk PHP

Sementara OpCacheGUI adalah ekstensi yang tampak lebih baik dari keduanya, ekstensi opcache-gui diperbarui secara berkala untuk bekerja dengan versi PHP terbaru. Anda dapat menggunakan salah satunya untuk mengelola dan memantau OPcache PHP dengan mudah

Dasbor untuk ekstensi PHP opcache-gui

Menginstal dan Mengkonfigurasi APCu

Anda dapat menginstal ekstensi APCu dari repositori PECL atau langsung dari PHP. Jalankan perintah berikut di terminal Anda untuk memulai

sudo apt-get install php7.3-apcu

Catatan. Bergantung pada versi PHP Anda, Anda perlu menggunakan arahan yang benar. Ini dia PHP 7. 3, tetapi Anda mungkin menginstal versi PHP yang berbeda di server Anda.   

Selama instalasi, Anda mungkin menemukan pertanyaan tentang cara mengkonfigurasi APCu di server Anda. Pilih default untuk semuanya.  

Selanjutnya, periksa php. ini dan tambahkan baris di bawah ini jika belum ditambahkan oleh PHP.  

extension=apcu.so_

Ini akan mengaktifkan apc. jadi modul di server Anda setelah dimulai ulang. Untuk server yang berjalan di NGINX, Anda harus menggunakan perintah berikut

sudo service php7.3-fpm restart sudo service nginx reload

Jika server Anda menggunakan Apache, maka Anda dapat menggunakan perintah berikut

sudo service apache2 reload_

Pengaturan APCu default sempurna untuk sebagian besar pengaturan, termasuk instalasi WordPress. Namun, jika Anda mempertimbangkan untuk menyempurnakannya, Anda dapat membaca semua opsi konfigurasi APCu yang tersedia.  

Misalnya, apcu. direktif shm_size diatur ke 32M secara default. Jika Anda menemukan bahwa APCu kehabisan ruang yang dialokasikan pada memori bersama, Anda dapat mengalokasikan lebih banyak ruang ke APCu dengan menambahkan apcu. direktif shm_size dengan nilai khusus di php Anda. nilai ini

Catatan. APCu pada versi PHP 7+ tidak memiliki kompatibilitas mundur penuh dengan APC. Jika Anda memerlukannya, maka Anda juga perlu menginstal ekstensi APCu Backwards Compatibility (apc-bu) dari repositori PECL.  

Untuk informasi yang lebih mendalam dan sangat teknis tentang APCu, Anda dapat melihat dokumentasi TECHNOTES

Bersihkan OpCache dengan WP Rocket

Saat Anda mengubah kode PHP atau menambahkan skrip baru, Anda mungkin perlu menghapus cache opcode di situs web Anda. Meskipun Anda dapat melakukan ini melalui terminal, WP Rocket memiliki opsi bawaan untuk melakukannya dengan mengklik tombol

Untuk melakukannya, buka Pengaturan > WP Rocket di dasbor admin WordPress Anda dan klik tombol PURGE OPCACHE

Bersihkan OPcache dengan mudah dengan WP Rocket

Jika Anda tidak memiliki opsi ini di panel pengaturan WP Rocket Anda, maka server Anda belum dikonfigurasi untuk menggunakan OPcache, atau host telah menonaktifkan pembersihan OPcache melalui API dengan menambahkan opcache. arahan restriksi_api di php. file ini. Anda dapat membaca lebih lanjut tentang fitur ini di dokumentasi WP Rocket

Ringkasan

Fungsionalitas OPcache default PHP memberikan peningkatan kinerja yang nyata untuk situs WordPress. Sering kali, peningkatan kecepatan sebanyak 3 kali lebih banyak. Jika Anda memiliki situs dengan lalu lintas sedang hingga tinggi, sangat disarankan untuk mengaktifkan opcode caching di server Anda. Plus, mereka bisa membuat perbedaan jika Anda ingin memperbaiki admin WordPress yang lambat

Adapun akselerator PHP terbaik, hanya ada satu yang bekerja dengan sempurna untuk opcode caching hari ini, dan itu adalah OPcache bawaan PHP. Anda juga dapat menginstal ekstensi APCu PHP untuk memanfaatkan fungsi caching memori bersama userland.  

Saya harap artikel ini menjawab semua pertanyaan Anda tentang akselerator PHP. Mulailah dengan mempercepat situs Anda sekarang

Apakah Anda memiliki pertanyaan tentang caching opcode atau PHP OPcache?

Pembaruan terakhir pada 25 Februari 2022 Bagikan di

Tentang Salman Ravoof

Salman Ravoof adalah pengembang web, penulis, dan pencipta otodidak. Dia penggemar berat Perangkat Lunak Bebas dan Sumber Terbuka. Selain teknologi, menurutnya sains, filosofi, dan makanan menarik. Pelajari lebih lanjut tentang dia di situs webnya, dan terhubung dengan Salman di Twitter

Bagaimana cara mengaktifkan akselerator PHP?

Akselerator dapat diaktifkan dengan mengikuti instruksi; .
Di lingkungan server Anda, klik tombol Config
Buka php.ini. ini yang terletak di folder etc
Batalkan komentar salah satu akselerator berikut

Bagaimana cara menginstal PHP Accelerator di xampp?

Bagaimana cara mengaktifkan ekstensi Intl di xampp? .
langkah 1 buka file xampp/php/php.ini. file ini dalam setiap perubahan pada editor
Temukan “;extension=php_intl. dll”
sederhana Anda dapat menghapus atau menghapus titik koma awal ( ; ) Contoh. ;ekstensi=php_intl. .
Perbarui xampp/php/php. .
Langkah terakhir untuk Restart xampp/wamp Anda dengan sistem Anda

Bagaimana cara mengaktifkan ekstensi PHP?

Untuk mengaktifkan PHP Extension intl , ikuti Langkah-langkahnya. .
Buka xampp/php/php.ini. file ini di editor apa pun
Cari ";extension=php_intl. dll"
silakan hapus titik koma awal ( ; ) Seperti. ;ekstensi=php_intl. dll. ke. ekstensi = php_intl. dll
Simpan file xampp/php/php. file ini
Mulai ulang xampp/wamp Anda

Postingan terbaru

LIHAT SEMUA