


Bagaimana untuk menyelesaikan ralat sintaks dalam pelaporan konkurensi tinggi dalam PHP
Penyelesaian kepada ralat sintaks yang dilaporkan oleh konkurensi tinggi dalam PHP: 1. Semak bilangan akses atau sambungan yang dikonfigurasikan nginx, dan tambahkan dua parameter nginx 2. Sahkan sama ada proses pekerja php-fpm; adalah mencukupi, dan kemudian Tingkatkan bilangan proses sambungan_pekerja 3. Lumpuhkan log perlahan yang direkodkan.
Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer Dell G3.
Bagaimana untuk menyelesaikan ralat sintaks dalam pelaporan konkurensi tinggi dalam php?
Nginx+Php pelaporan serentak tinggi 502, 504 penyelesaian masalah:
Baru-baru ini membantu syarikat mengoptimumkan projek php. Baidu sambil mengoptimumkan. Projek ini mempunyai bilangan lawatan yang besar (purata 80,000+ permintaan seminit).
Tiga pelayan aws digunakan. Dua 8 teras 16G dan satu 4 teras 16G. Yang kecil menjalankan Nginx dan menjalankan sebilangan kecil proses php-fpm. Pada asasnya letakkan dan gantungkannya. Akses adalah semua 502 dan 504. Kerana tiada masalah dengan projek dan ujian telah dijalankan sebelum ini. Kemudian saya mula mencari masalah di Baidu.
1. Adalah disyaki bilangan akses konfigurasi nginx atau bilangan sambungan terlalu kecil untuk dikendalikan, dan kemudian meningkatkan dua parameter nginx.
Bilangan maksimum sambungan yang dibenarkan setiap proses, secara teorinya bilangan maksimum sambungan bagi setiap pelayan nginx ialah worker_processes*worker_connections
worker_connections 5000;
Bilangan maksimum deskriptor fail yang dibuka oleh proses nginx, secara teorinya Nilainya hendaklah bilangan maksimum fail terbuka (ulimit -n) dibahagikan dengan bilangan proses nginx
worker_rlimit_nofile 20000;
Tamat masa permintaan PHP dan cache, dsb.
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k;
Mulakan semula nginx selepas menetapkannya. . Tetapi apabila saya mengujinya, tiada tindak balas langsung.
2. Ia disyaki masalah konfigurasi php.
Sahkan sama ada proses pekerja php-fpm sudah mencukupi Jika tidak mencukupi, bermakna ia tidak didayakan
Kira bilangan proses pekerja yang dibuka:
.ps -ef | grep 'php-fpm'|grep -v 'master'|grep -v 'grep' |wc -l
Kira bilangan proses pekerja yang sedang digunakan, permintaan sedang diproses
netstat -anp | grep 'php-fpm'|grep -v 'LISTENING'|grep -v 'php-fpm.conf'|wc -l
Jika dua nilai di atas hampir, anda boleh mempertimbangkan untuk menambah bilangan proses sambungan_pekerja <.>
dan mengubah suai bilangan proses php dalam php-fpm.conf. Tidak kira sama ada anda menaikkan atau menurunkan parameter ini. . . . terdesak! Mengubah suai peringkat log log_level = nyahpepijat dalam php-fpm.conf. Saya melihat ralat dalam fail error_log:[29-Mar-2014 22:40:10] ERROR: failed to ptrace(PEEKDATA) pid 4276: Input/output error (5) [29-Mar-2014 22:53:54] ERROR: failed to ptrace(PEEKDATA) pid 4319: Input/output error (5) [29-Mar-2014 22:56:30] ERROR: failed to ptrace(PEEKDATA) pid 4342: Input/output error (5)Jadi, saya mula Google ralat ini sekali lagi. Cari artikel (http://www.mamicode.com/info-detail-1488604.html). Ia mengatakan di atas bahawa log perlahan yang direkodkan perlu dilumpuhkan slowlog = /var/log/php-fpm/slow.log request_slowlog_timeout = 15s; Pada masa ini, saya menyedari bahawa PHP juga merekodkan permintaan yang perlahan semasa akses. Kemudian buka fail log perlahan. Didapati bahawa semua log ralat disebabkan oleh PHP yang meminta redis. . . Punca masalah ditemui Apabila PHP meminta data redis, ia sepatutnya terlalu banyak sambungan diminta. Masalah yang disebabkan oleh kegagalan redis untuk menyambung. . Oleh kerana perniagaan di sini agak rumit, kunci redis disambungkan ke dalam pelbagai medan. Pertanyaan kabur digunakan semasa membuat pertanyaan. Semua ini membawa kepada penurunan dalam prestasi redis, dan sebilangan besar permintaan berikutnya tidak dapat disambungkan ke redis. Kerana kod untuk memaut ke redis telah diubah oleh saya. . Jadi saya memulihkan kod asal untuk meminta mysql. . Pada masa ini, projek berjalan seperti biasa, dan CPU setiap pelayan pada dasarnya hampir 100%. Saya bimbang akan ada masalah, CPU akan penuh, dan permintaan sambungan MySQL tidak akan dapat menahannya. . . Mari mengoptimumkannya kemudian! ! ! ! Pembelajaran yang disyorkan: "
Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat sintaks dalam pelaporan konkurensi tinggi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa


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

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft