


Artikel yang menerangkan cara mengoptimumkan dan meningkatkan prestasi PHP7
PHP7 telah dikeluarkan Sebagai peningkatan versi terbesar dan peningkatan prestasi terbesar PHP dalam 10 tahun, PHP7 telah menunjukkan peningkatan prestasi yang jelas dalam berbilang ujian prestasi maksimum, saya masih mempunyai beberapa perkara untuk diingatkan kepada anda
1. Oleh kerana PHP7 lebih pantas daripada PHP-5.6 tanpa Opcache didayakan, sesetengah orang tidak mendayakan Opcache semasa tempoh ujian sebelumnya adalah sangat mudah, hanya tambah:
<.>2. Gunakan pengkompil baharuzend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1"
Malah, versi sebelum GCC 4.8 turut menyokongnya, tetapi kami mendapati ia menyokong pepijat, jadi ia mestilah 4.8 ke atas Ciri ini akan menjadi didayakan hanya selepas versi terkini.
3 HugePage
Artikel saya sebelum ini turut memperkenalkan: Hugepage untuk menjadikan PHP7 anda lebih pantas, mula-mula dayakannya dalam sistem HugePages, dan kemudian dayakan huge_code_pages OpcacheMengambil CentOS 6.5 saya sebagai contoh, peruntukkan 512 memori halaman besar yang disimpan melalui:
:
Kemudian tambah:$sudo sysctl vm.nr_hugepages=512
Kodnya adalah seperti berikut:
$ cat /proc/meminfo | grep Huge AnonHugePages: 106496 kB HugePages_Total: 512 HugePages_Free: 504 HugePages_Rsvd: 27 HugePages_Surp: 0 Hugepagesize: 2048 kB
Dengan cara ini, PHP akan menggunakan memori yang besar untuk segmen teks sendiri dan halaman peruntukan memori yang besar untuk disimpan, mengurangkan kesilapan TLB, dengan itu meningkatkan prestasi.
4. Cache fail Opcacheopcache.huge_code_pages=1
Tambahkan: ke php.ini Kodnya adalah seperti berikut:
Dengan cara ini, PHP akan cache beberapa Opcode. fail eksport binari dalam direktori /tmp, yang boleh wujud merentas kitaran hayat PHP.
opcache.file_cache=/tmp
Secara khusus, ambil wordpress 4.1 sebagai senario pengoptimuman Pertama, apabila menyusun PHP:
Kodnya adalah seperti berikut:Kemudian gunakan projek anda untuk melatih PHP. , sebagai contoh, untuk WordPress:
Kodnya adalah seperti berikut:
$ make prof-gen
Iaitu, biarkan php-cgi berjalan 100 kali pada halaman utama wordpress, Ini menghasilkan beberapa maklumat profil dalam prosesnya.
Akhir sekali:
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
PHP7 yang anda susun pada masa ini ialah versi kompilasi prestasi tertinggi yang disesuaikan untuk projek anda akan tambah lagi bila fikir nanti, semua dialu-alukan untuk mencuba, terima kasih
Atas ialah kandungan terperinci Artikel yang menerangkan cara mengoptimumkan dan meningkatkan prestasi PHP7. 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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Perbandingan prestasi rangka kerja Java yang berbeza: Pemprosesan permintaan REST API: Vert.x adalah yang terbaik, dengan kadar permintaan 2 kali SpringBoot dan 3 kali Dropwizard. Pertanyaan pangkalan data: HibernateORM SpringBoot adalah lebih baik daripada Vert.x dan ORM Dropwizard. Operasi caching: Pelanggan Hazelcast Vert.x lebih unggul daripada mekanisme caching SpringBoot dan Dropwizard. Rangka kerja yang sesuai: Pilih mengikut keperluan aplikasi Vert.x sesuai untuk perkhidmatan web berprestasi tinggi, SpringBoot sesuai untuk aplikasi intensif data, dan Dropwizard sesuai untuk seni bina perkhidmatan mikro.

Perbandingan prestasi kaedah membalik nilai kunci tatasusunan PHP menunjukkan bahawa fungsi array_flip() berprestasi lebih baik daripada gelung for dalam tatasusunan besar (lebih daripada 1 juta elemen) dan mengambil masa yang lebih singkat. Kaedah gelung untuk membalikkan nilai kunci secara manual mengambil masa yang agak lama.

Teknik berkesan untuk mengoptimumkan prestasi berbilang benang C++ termasuk mengehadkan bilangan utas untuk mengelakkan perbalahan sumber. Gunakan kunci mutex ringan untuk mengurangkan perbalahan. Optimumkan skop kunci dan minimumkan masa menunggu. Gunakan struktur data tanpa kunci untuk menambah baik keselarasan. Elakkan sibuk menunggu dan maklumkan urutan ketersediaan sumber melalui acara.

Prestasi fungsi PHP yang berbeza adalah penting untuk kecekapan aplikasi. Fungsi dengan prestasi yang lebih baik termasuk gema dan cetakan, manakala fungsi seperti str_replace, array_merge dan file_get_contents mempunyai prestasi yang lebih perlahan. Sebagai contoh, fungsi str_replace digunakan untuk menggantikan rentetan dan mempunyai prestasi sederhana, manakala fungsi sprintf digunakan untuk memformat rentetan. Analisis prestasi menunjukkan bahawa ia hanya mengambil masa 0.05 milisaat untuk melaksanakan satu contoh, membuktikan bahawa fungsi berfungsi dengan baik. Oleh itu, menggunakan fungsi dengan bijak boleh membawa kepada aplikasi yang lebih pantas dan cekap.

Dalam PHP, penukaran tatasusunan kepada objek akan memberi kesan pada prestasi, yang dipengaruhi terutamanya oleh faktor seperti saiz tatasusunan, kerumitan dan kelas objek. Untuk mengoptimumkan prestasi, pertimbangkan untuk menggunakan iterator tersuai, mengelakkan penukaran yang tidak perlu, tatasusunan penukaran kelompok dan teknik lain.

Satu cara untuk menanda aras prestasi fungsi Java adalah dengan menggunakan Java Microbenchmark Suite (JMH). Langkah khusus termasuk: Menambah kebergantungan JMH pada projek. Buat kelas Java baharu dan anotasikannya dengan @State untuk mewakili kaedah penanda aras. Tulis kaedah penanda aras dalam kelas dan anotasikannya dengan @Benchmark. Jalankan penanda aras menggunakan alat baris arahan JMH.

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 ...

Mengikut penanda aras, untuk aplikasi kecil dan berprestasi tinggi, Quarkus (permulaan pantas, memori rendah) atau Micronaut (TechEmpower cemerlang) adalah pilihan yang ideal. SpringBoot sesuai untuk aplikasi bertindan penuh yang besar, tetapi mempunyai masa permulaan dan penggunaan memori yang lebih perlahan.
