Rumah pembangunan bahagian belakang PHP7 Artikel yang menerangkan cara mengoptimumkan dan meningkatkan prestasi PHP7

Artikel yang menerangkan cara mengoptimumkan dan meningkatkan prestasi PHP7

Dec 01, 2021 pm 02:40 PM
php7 prestasi

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

Artikel yang menerangkan cara mengoptimumkan dan meningkatkan prestasi PHP7

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 baharu

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
Salin selepas log masuk
Gunakan pengkompil yang lebih baharu, GCC 4.8 ke atas disyorkan, kerana hanya PHP GCC 4.8 atau lebih tinggi akan membuka Daftar Global untuk sokongan opline dan execute_data, ini akan membawa kira-kira 5% peningkatan prestasi (diukur daripada perspektif QPS Wordpres)

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 Opcache

Mengambil CentOS 6.5 saya sebagai contoh, peruntukkan 512 memori halaman besar yang disimpan melalui:

:

Kemudian tambah:
$sudo sysctl vm.nr_hugepages=512
Salin selepas log masuk

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
Salin selepas log masuk

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 Opcache
 opcache.huge_code_pages=1
Salin selepas log masuk

Dayakan Cache Fail Opcache (eksperimen Dengan mendayakan ini, kami boleh Biarkan Opcache cache cache dalam fail luaran). skrip, akan ada peningkatan prestasi yang ketara

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
Salin selepas log masuk
5 PGO


I Artikel sebelumnya: Jadikan PHP7 anda lebih pantas (GCC PGO) juga memperkenalkan, jika PHP anda khusus untuk satu projek, seperti hanya untuk WordPress anda, atau drupal, atau sesuatu yang lain, maka anda boleh cuba menggunakan PGO , untuk menambah baik PHP dan secara khusus meningkatkan prestasi projek anda.

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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

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

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbandingan prestasi rangka kerja Java yang berbeza Perbandingan prestasi rangka kerja Java yang berbeza Jun 05, 2024 pm 07:14 PM

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.

Pembalikan nilai kunci tatasusunan PHP: analisis perbandingan prestasi kaedah yang berbeza Pembalikan nilai kunci tatasusunan PHP: analisis perbandingan prestasi kaedah yang berbeza May 03, 2024 pm 09:03 PM

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.

Bagaimana untuk mengoptimumkan prestasi program berbilang benang dalam C++? Bagaimana untuk mengoptimumkan prestasi program berbilang benang dalam C++? Jun 05, 2024 pm 02:04 PM

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.

Sejauh manakah prestasi fungsi PHP? Sejauh manakah prestasi fungsi PHP? Apr 18, 2024 pm 06:45 PM

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.

Apakah kesan prestasi menukar tatasusunan PHP kepada objek? Apakah kesan prestasi menukar tatasusunan PHP kepada objek? Apr 30, 2024 am 08:39 AM

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.

Bagaimana untuk menggunakan penanda aras untuk menilai prestasi fungsi Java? Bagaimana untuk menggunakan penanda aras untuk menilai prestasi fungsi Java? Apr 19, 2024 pm 10:18 PM

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 cara menetapkan kebenaran secara automatik UnixSocket selepas sistem dimulakan semula? Bagaimana cara menetapkan kebenaran secara automatik UnixSocket selepas sistem dimulakan semula? Mar 31, 2025 pm 11:54 PM

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

Perbandingan prestasi rangka kerja Java Perbandingan prestasi rangka kerja Java Jun 04, 2024 pm 03:56 PM

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.

See all articles