cari

Memahami opcache

Takeaways Key

    Opcache adalah enjin caching terbina dalam PHP 5.5 yang menyimpan bytecode skrip precompiled dalam ingatan, yang membawa kepada peningkatan prestasi dalam aplikasi PHP. Ia boleh dipasang sebagai lanjutan pada versi PHP yang lebih lama dan dapat mengurangkan masa tindak balas min laman web sehingga 14%.
  • Opcache adalah penyelesaian yang lebih baik daripada cache APC, kerana APC tidak menyokong versi PHP yang lebih baru dan boleh membawa kepada kesilapan pelaksanaan. Opcache lebih terikat dengan PHP sendiri, mengakibatkan kemas kini yang lebih kerap dan kesilapan yang lebih sedikit. Walau bagaimanapun, tidak seperti APC, Opcache tidak berfungsi sebagai enjin caching data.
  • Untuk memeriksa sama ada opcache berfungsi dengan betul, seseorang boleh menggunakan fungsi opcache_get_configuration () dan opcache_get_status (). Terdapat juga beberapa skrip yang disediakan yang tersedia yang mengambil semua konfigurasi opcache dan status data dan memaparkannya dengan cara yang mesra pengguna.
  • Adalah mungkin untuk mempunyai OPCACHE diaktifkan dalam satu projek dan dilumpuhkan di lain pada pelayan tunggal. Ini dicapai dengan membolehkan Opcache di peringkat global dan kemudian melumpuhkannya dalam projek tertentu menggunakan fungsi ini_set ().
php dalam versi 5.5 dilengkapi dengan enjin caching terbina dalam-opcache-yang menyimpan bait skrip precompiled dalam ingatan. Jika anda biasa dengan APC atau XCACHE, anda akan tahu bagaimana enjin tersebut berfungsi. Oleh kerana setiap skrip PHP sedang dikumpulkan pada masa runtime, sebahagian daripada masa pelaksanaan akan digunakan untuk mengubah kod yang boleh dibaca manusia ke dalam kod yang dapat difahami oleh mesin. Enjin cache bytecode seperti OPCACHE, APC atau XCACHE hanya sekali - semasa pelaksanaan pertama fail PHP tertentu. Kemudian skrip precompiled disimpan dalam ingatan, yang sepatutnya membawa kepada peningkatan prestasi dalam aplikasi PHP anda.

Di atas web, anda dengan mudah akan menemui banyak tutorial yang meliputi semua langkah pemasangan dan konfigurasi Opcache (ia didayakan secara lalai pada 5.5, tetapi boleh dipasang sebagai lanjutan pada versi lama). Baca artikel di bawah untuk mencari jawapan kepada beberapa soalan biasa mengenai aspek praktikal yang berbeza untuk bekerja dengan enjin cache tertentu ini.

1. Adakah Opcache patut dipasang sama sekali? Apa rangsangan kelajuan yang boleh saya harapkan?

Sudah tentu, ia bergantung. Jika pelayan anda berjaya mengendalikan lalu lintas yang masuk dan menyimpan masa tindak balas yang rendah, anda mungkin tidak akan merasakan keperluan untuk bekerja pada prestasi. Tetapi di laman web yang lebih besar dengan banyak trafik setiap langkah pengoptimuman kecil mungkin dikira. Melaksanakan OPCACHE mungkin membolehkan anda mengendalikan lebih banyak permintaan sesaat dan mengembalikan respons lebih cepat daripada tanpa enjin caching bytecode. Oleh kerana Opcache agak mudah dipasang dan dikonfigurasikan, anda tidak akan menghabiskan terlalu banyak masa untuk menetapkan segala -galanya.

Jika anda sedang mencari beberapa ujian prestasi Opcache, anda pasti perlu membaca artikel AppDynamics mengenai melaksanakan enjin cache ini. Dalam ujian mereka, pemasangan Opcache mengurangkan masa tindak balas min laman web sebanyak 14%. Pengurangan masa tindak balas tindakan yang berbeza dari aplikasi web bervariasi dari 6% hingga sebanyak 74%. Seperti yang dijelaskan dalam artikel, bahagian kod yang berbeza mungkin memberi manfaat lebih kurang daripada melaksanakan enjin caching bytecode. Saya menggalakkan anda membaca artikel secara terperinci dan periksa di mana anda boleh mendapatkan peningkatan prestasi tertinggi.

Jika anda mencari beberapa sumber lain mengenai prestasi Opcache, periksa contoh di Fideloper.com dan MassiveCale.com. Kedua -dua ujian melaporkan kira -kira 50% penurunan masa tindak balas selepas memasang OPCACHE.

2. Saya sudah menggunakan cache APC. Sekiranya saya berhijrah ke Opcache?

Saya fikir anda sepatutnya. Terdapat beberapa kelebihan yang boleh menjadikan Opcache penyelesaian yang lebih baik daripada APC.

Pertama sekali, cache APC tidak akan berfungsi dengan versi PHP terbaru. Ia tidak menyokong PHP 5.5 sama sekali. Ia tidak dinasihatkan untuk memasangnya pada Php 5.4 sama ada, kerana telah dilaporkan bahawa konfigurasi tersebut boleh membawa kepada kesilapan pelaksanaan yang memecahkan keseluruhan permohonan. Cukup periksa artikel Wikipedia mengenai PHP Accelerators atau thread limpahan stack ini untuk mendapatkan beberapa butiran.

Opcache, bagaimanapun, dibundel dengan PHP 5.5 jadi ia pasti akan berfungsi dengan versi PHP ini. Seperti yang ditulis dalam dokumentasi, ia juga boleh dipasang dengan versi PHP yang lebih lama - dari 5.2 hingga 5.4. Secara amnya, OPCACHE lebih terikat dengan PHP sendiri daripada enjin cache bytecode lain - yang mungkin mengakibatkan kemas kini yang lebih kerap dan kesilapan yang lebih sedikit (baca di sini untuk maklumat lanjut).

Satu -satunya perkara penting yang perlu diingat apabila berpindah dari APC ke Opcache adalah hakikat bahawa yang terakhir tidak berfungsi sebagai enjin caching data. Jika anda telah melaksanakan APC, anda mungkin menggunakan fungsi APC_ADD () dan APC_Fetch () yang berfungsi sebagai antara muka kepada perkhidmatan caching data. Opcache hanya enjin caching bytecode supaya ia tidak akan menawarkan fungsi yang sama. Jika anda merancang untuk beralih dari APC ke Opcache, ingatlah untuk mempertimbangkan batasan ini. Perlu diingat bahawa jika anda ingin mengekalkan fungsi userland APC, terdapat projek APCU (banyak terima kasih kepada Oscar Merina kerana menunjukkannya dalam komen).

3. Bagaimana untuk memeriksa sama ada opcache sebenarnya caching fail saya?

Jika anda telah memasang dan mengkonfigurasi Opcache, anda mungkin mendapati penting untuk mengawal fail PHP yang sebenarnya di -cache. Enjin cache keseluruhan berfungsi di latar belakang dan telus kepada pelawat atau pemaju web. Untuk memeriksa statusnya, anda boleh menggunakan salah satu daripada dua fungsi yang memberikan maklumat sedemikian: OPCACHE_GET_CONFIGURATION () dan OPCACHE_GET_STATUS (). Nasib baik, terdapat beberapa scrips yang disediakan yang mengambil semua konfigurasi dan data status Opcache dan memaparkannya dengan cara yang mesra. Anda tidak perlu menulis apa -apa kod sendiri, hanya ambil salah satu alat dari ini di bawah:
- Panel Kawalan Opcache,
-Opcache-Status oleh Rasmus Lerdorf,
- Opcachegui oleh Pieter Hordijk,
-Opcache-Gui oleh Andrew Collington.

Dalam projek saya, saya menggunakan skrip Opcache-Gui yang mempunyai semua fungsi yang saya perlukan. Untuk memeriksa sama ada enjin caching berfungsi dengan betul, lihat sahaja peratusan di tab "Gambaran Keseluruhan" di halaman Opcache-Gui. Jika penggunaan memori dan nilai hit kadar lebih besar daripada sifar, ini bermakna OPCACHE adalah cache kod PHP dan fail cache sedang digunakan untuk mengendalikan permintaan. Untuk melihat senarai fail PHP tertentu yang di -cache, hanya navigasi ke tab "Penggunaan Fail". Lihat melalui senarai fail untuk memastikan bahawa fail di dalam projek anda mendapat cache.

Memahami opcache

4. Adakah terdapat konfigurasi khusus kerangka yang harus saya tetapkan?

Pada dasarnya, enjin Opcache harus telus kepada anda sebagai penulis kod. Ini bermakna anda boleh meletakkan sebarang kod yang anda inginkan dalam aplikasi anda (yang berfungsi dengan versi PHP yang anda gunakan) dan OPCACHE harus mengendalikannya dengan betul. Tetapi ia akan berfungsi hanya jika konfigurasi Opcache ditetapkan dengan cara yang betul. Konfigurasi enjin cache yang salah boleh memecahkan seluruh laman web anda.

Pertama sekali, mungkin dalam setiap projek biasa, anda perlu memastikan bahawa pilihan opcache.use_cwd ditetapkan kepada benar. Membolehkan tetapan ini bermakna bahawa enjin Opcache akan melihat laluan fail penuh untuk membezakan antara fail dengan nama yang sama. Menetapkannya kepada palsu akan membawa kepada perlanggaran antara fail dengan nama asas yang sama.

Terdapat juga tetapan yang penting dalam alat dan kerangka yang menggunakan anotasi. Jika anda menggunakan doktrin, Rangka Kerja Zend 2 atau PHP, ingatlah untuk menetapkan tetapan opcache.load_comments dan opcache.save_comments kepada Benar. Hasilnya, komen dokumentasi dari fail anda juga akan dimasukkan ke dalam kod yang dipraktikkan yang dihasilkan oleh OPCACHE. Tetapan ini akan membolehkan anda bekerja dengan anotasi tanpa sebarang gangguan.

Jika projek anda didasarkan pada rangka kerja tertentu atau aplikasi web, ia sentiasa merupakan idea yang baik untuk menyemak dokumentasi untuk sebarang garis panduan mengenai konfigurasi Opcache. Sebagai contoh, terdapat konfigurasi sampel untuk Moodle di sini.

5. Saya menyimpan konfigurasi aplikasi saya dalam fail php. Bolehkah saya mengelakkannya daripada di -cache?

Jika projek anda mengandungi fail yang sedang diubah lebih kerap daripada yang lain, anda boleh mengecualikannya daripada caching. Ia mungkin sangat berguna apabila berurusan dengan fail PHP yang mengandungi arahan konfigurasi untuk laman web anda. Sekiranya anda menghalangnya daripada di -cache, anda boleh memastikan bahawa setiap perubahan dimasukkan ke dalam fail sedemikian akan dapat dilihat dalam permohonan anda dengan segera.

Opcache membolehkan anda menentukan fail senarai hitam yang mengandungi semua laluan yang tidak akan diproses oleh enjin caching. Selepas menetapkan arahan opcache.blacklist_filename, letakkan senarai fail yang betul dalam laluan yang telah anda tentukan. Halaman dokumentasi mengandungi beberapa contoh tentang cara mengecualikan fail tertentu dari cache.

6. Bagaimana saya boleh menjalankan kedua -dua pembangunan dan persekitaran pengeluaran pada pelayan tunggal di mana opcache diaktifkan?

Jika pelayan anda menjalankan beberapa aplikasi, anda mungkin bersedia menggunakan Opcache hanya di sebahagian daripada mereka. Laman pembangunan dan ujian adalah contoh persekitaran sedemikian di mana mempunyai bait bait yang didayakan tidak lebih baik dan boleh menyebabkan lebih banyak kemudaratan daripada yang baik.

Untungnya, mungkin ada OPCache yang didayakan dalam satu projek dan dilumpuhkan di dalam yang lain, semuanya pada satu pelayan. Untuk berbuat demikian, pertama anda perlu mengaktifkan opcache di peringkat global dengan menetapkan Arahan Opcache.enable kepada TRUE dalam fail php.ini anda. Kemudian, jika anda tidak mahu menggunakan caching byteCode dalam salah satu projek anda, lumpuhkannya dengan menetapkan arahan yang sama kepada palsu menggunakan fungsi ini_set (). Oleh itu, pertama -tama anda perlu membolehkan caching di seluruh dunia dan kemudian anda boleh melumpuhkannya dalam beberapa projek "tempatan". Anda tidak boleh melakukan yang bertentangan - membolehkan caching menggunakan ini_set () tidak dibenarkan.

menetapkan opcache.enable untuk palsu dalam fail teratas dalam projek anda akan melumpuhkan caching sambil menyimpannya di tempat lain.

Ringkasan

Saya harap set soalan dan jawapan yang sama memberi anda beberapa maklumat praktikal tentang cara menggunakan OPCACHE dalam aplikasi PHP. Jika anda mempunyai soalan atau komen lain mengenai subjek, jangan ragu untuk menyiarkannya di bawah. Anda juga boleh menghubungi saya melalui Google Plus.

soalan yang sering ditanya mengenai opcache

Apakah fungsi utama OPCACHE dalam PHP? Ini menghapuskan keperluan PHP untuk memuatkan dan menghuraikan skrip pada setiap permintaan, dengan itu mengurangkan masa pelaksanaan dan penggunaan memori. Ini amat bermanfaat untuk laman web dengan aplikasi trafik atau kompleks yang tinggi, kerana ia dapat mempercepatkan masa pemuatan dan meningkatkan prestasi keseluruhan. Mekanisme caching yang menyimpan output skrip PHP, Opcache menyimpan bytecode precompiled skrip PHP. Ini bermakna ia tidak perlu mengkompilasi kod PHP setiap kali permintaan dibuat, yang menjimatkan banyak masa dan sumber pemprosesan. Ini menjadikan OPCACHE penyelesaian yang lebih cekap dan berkesan untuk meningkatkan prestasi PHP.

Bagaimana saya boleh mengaktifkan OPCACHE dalam konfigurasi PHP saya? Cari bahagian yang dilabel [Opcache] dan tukar nilai opcache.enable kepada 1. Jika bahagian atau arahan tidak wujud, anda boleh menambahnya. Setelah membuat perubahan, simpan fail dan mulakan semula pelayan web anda untuk perubahan yang berlaku. Menggunakan fungsi OPCACHE_GET_STATUS () dalam PHP. Fungsi ini mengembalikan pelbagai maklumat mengenai status Opcache, termasuk tetapan konfigurasi, penggunaan memori, dan kadar hit. Anda boleh menggunakan maklumat ini untuk mengesahkan jika Opcache berfungsi dengan betul dan cekap. Php. Fungsi ini akan membersihkan OPCACHE dan memaksa PHP untuk mengkompilasi semula skrip pada permintaan seterusnya. Walau bagaimanapun, perlu diingat bahawa membersihkan opcache dengan kerap boleh memberi kesan negatif terhadap prestasi, kerana ia mengalahkan tujuan caching. Meningkatkan prestasi PHP, ia bukan tanpa isu atau batasan yang berpotensi. Sebagai contoh, ia boleh menyebabkan masalah dengan sesi berasaskan fail atau penyimpanan data pengguna berasaskan fail, kerana ia tidak mengkompilasi skrip melainkan perubahan cap waktu. Juga, ia mungkin tidak berkesan untuk laman web dengan trafik yang rendah atau aplikasi mudah, kerana keuntungan prestasi mungkin tidak dapat dilihat.

Bagaimana saya boleh mengoptimumkan konfigurasi Opcache untuk prestasi maksimum? Sebagai contoh, anda boleh meningkatkan opcache.memory_consumption untuk memperuntukkan lebih banyak memori untuk menyimpan bytecode precompiled. Anda juga boleh menyesuaikan opcache.revalidate_freq untuk mengawal berapa kerap Opcache untuk perubahan dalam skrip. Walau bagaimanapun, ia disertakan secara lalai pada PHP 5.5. Untuk versi terdahulu, anda perlu memasangnya sebagai lanjutan PECL. Redis. Walaupun OPCACHE meningkatkan prestasi PHP dengan caching bytecode precompiled, mekanisme caching lain dapat meningkatkan prestasi dengan caching pertanyaan pangkalan data atau output skrip PHP. 🎜>

opcache sangat bermanfaat untuk laman web dengan trafik yang tinggi atau aplikasi yang kompleks, kerana ia dapat mempercepat pemuatan masa dan meningkatkan prestasi keseluruhan. Walau bagaimanapun, ia mungkin tidak berkesan untuk laman web dengan trafik yang rendah atau aplikasi mudah, kerana keuntungan prestasi mungkin tidak dapat dilihat. Juga, ia boleh menyebabkan masalah dengan sesi berasaskan fail atau penyimpanan data pengguna berasaskan fail, jadi ia tidak sesuai untuk semua jenis laman web atau aplikasi.

Atas ialah kandungan terperinci Memahami opcache. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bekerja dengan Data Sesi Flash di LaravelBekerja dengan Data Sesi Flash di LaravelMar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTCurl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTMar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Respons HTTP yang dipermudahkan dalam ujian LaravelRespons HTTP yang dipermudahkan dalam ujian LaravelMar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 skrip sembang php terbaik di codecanyon12 skrip sembang php terbaik di codecanyonMar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Terangkan konsep pengikatan statik lewat dalam PHP.Terangkan konsep pengikatan statik lewat dalam PHP.Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Cari muat turun fail di laravel dengan penyimpanan :: muat turunCari muat turun fail di laravel dengan penyimpanan :: muat turunMar 06, 2025 am 02:22 AM

Penyimpanan :: Kaedah Muat turun Rangka Kerja Laravel menyediakan API ringkas untuk mengendalikan muat turun fail dengan selamat sambil menguruskan abstraksi penyimpanan fail. Berikut adalah contoh menggunakan penyimpanan :: muat turun () dalam pengawal contoh:

Pembalakan PHP: Amalan Terbaik untuk Analisis Log PHPPembalakan PHP: Amalan Terbaik untuk Analisis Log PHPMar 10, 2025 pm 02:32 PM

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Cara mendaftar dan menggunakan penyedia perkhidmatan LaravelCara mendaftar dan menggunakan penyedia perkhidmatan LaravelMar 07, 2025 am 01:18 AM

Bekas perkhidmatan dan penyedia perkhidmatan Laravel adalah asas kepada seni bina. Artikel ini meneroka bekas perkhidmatan, butiran pembekal perkhidmatan, pendaftaran, dan menunjukkan penggunaan praktikal dengan contoh. Kita akan mulakan dengan ove

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.