Memahami opcache
- 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 ().
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.
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.
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Fungsi penghitungan dalam Php8.1 meningkatkan kejelasan dan jenis keselamatan kod dengan menentukan pemalar yang dinamakan. 1) Penghitungan boleh menjadi bilangan bulat, rentetan atau objek, meningkatkan kebolehbacaan kod dan keselamatan jenis. 2) Penghitungan adalah berdasarkan kelas dan menyokong ciri-ciri berorientasikan objek seperti traversal dan refleksi. 3) Penghitungan boleh digunakan untuk perbandingan dan tugasan untuk memastikan keselamatan jenis. 4) Penghitungan menyokong penambahan kaedah untuk melaksanakan logik kompleks. 5) Pemeriksaan jenis dan pengendalian ralat yang ketat boleh mengelakkan kesilapan biasa. 6) Penghitungan mengurangkan nilai sihir dan meningkatkan keupayaan, tetapi memberi perhatian kepada pengoptimuman prestasi.

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...
