Dengan kemajuan berterusan teknologi Internet, bilangan pengguna aplikasi Web terus meningkat, dan keperluan prestasi untuk pelayan juga semakin tinggi dan lebih tinggi. Jika berbilang pelayan digunakan untuk pengimbangan beban, prestasi dan kebolehpercayaan aplikasi Web boleh dipertingkatkan ke tahap tertentu, tetapi kosnya juga akan meningkat secara eksponen. Oleh itu, bagaimana untuk meningkatkan prestasi pelayan tunggal telah menjadi tumpuan pembangun aplikasi web dan kakitangan operasi dan penyelenggaraan. Dalam kes ini, penskalaan menegak menjadi penyelesaian yang diterima pakai secara meluas.
Peluasan menegak meningkatkan prestasi pelayan dengan meningkatkan sumber perkakasan pelayan tunggal, seperti CPU, memori, cakera, dsb. Berbanding dengan pengembangan mendatar (meningkatkan bilangan pelayan), pengembangan menegak adalah lebih mudah dan lebih langsung Ia tidak memerlukan pelarasan berskala besar dan pembinaan semula sistem sedia ada Pada masa yang sama, terdapat beberapa risiko dan cabaran.
Dalam aplikasi PHP, penyelesaian pengembangan menegak terutamanya melibatkan aspek berikut:
Dalam era CPU berbilang teras, aplikasi PHP menggunakan Berbilang benang atau berbilang proses untuk menggunakan sepenuhnya prestasi CPU berbilang teras. Sebagai contoh, sambungan PHP-FPM menyediakan mekanisme pengurusan berbilang proses yang boleh mencipta berbilang proses bebas mengikut permintaan pengguna yang berbeza untuk meningkatkan prestasi aplikasi PHP.
Selain mekanisme berbilang proses, anda juga boleh memanfaatkan sumber berbilang teras CPU dengan menulis kod berbilang benang. Walau bagaimanapun, memandangkan PHP ialah bahasa skrip yang ditafsirkan, ia tidak sesuai untuk menulis kod berbilang benang yang kompleks, dan keselamatan thread PHP tidak begitu baik. Oleh itu, senario berbilang proses adalah lebih biasa.
Apabila aplikasi PHP memproses sejumlah besar data, masalah penggunaan memori yang berlebihan sering berlaku. Jika pelayan tidak mempunyai memori yang mencukupi, ia boleh menyebabkan aplikasi PHP berjalan perlahan atau ranap. Untuk menyelesaikan masalah ini, anda boleh meningkatkan prestasi aplikasi PHP dengan meningkatkan kapasiti memori pelayan.
Selain itu, mekanisme pengumpulan sampah PHP juga akan mempengaruhi penggunaan memori. Anda boleh mengoptimumkan prestasi dan penggunaan memori aplikasi PHP dengan melaraskan parameter mekanisme pengumpulan sampah PHP. Sebagai contoh, anda boleh melaraskan parameter gc_probability dan gc_divisor dalam fail konfigurasi php.ini untuk mengawal kebarangkalian pencetus dan kecekapan mekanisme pengumpulan sampah.
Aplikasi PHP selalunya memerlukan membaca dan menulis sejumlah besar data, seperti akses pangkalan data, muat naik dan muat turun fail, dsb. Operasi ini mungkin menjadi hambatan prestasi untuk aplikasi PHP. Untuk meningkatkan prestasi cakera IO aplikasi PHP, ia boleh dioptimumkan dengan cara berikut:
Atas ialah kandungan terperinci Penskalaan menegak dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!