Saya telah bermain-main dengan perkara berkaitan pelayan baru-baru ini dan menghadapi beberapa masalah, saya ingin meminta bantuan semua orang.
Status akses tapak web semasa: PV: 15W+, IP: 2W+
Konfigurasi pelayan:
CPU: 4 * Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz
Memori: 4G
Lebar jalur: 6M
Pemacu keras: 2*100G HDD
Server ini pernah menggunakan panel wdcp, php5.2 + mysql 5.1. CPU dan load pada waktu puncak sangat stabil Kemudian, selepas laman web digodam, saya mengambil alih proses itu persekitaran satu klik (pakej di blog.linuxeye.com), membina persekitaran Lanmp, selepas memulakan perkhidmatan, menggunakan ujian ab pelayan lain (ab -c 100 -n 500), CPU serta-merta penuh, beban juga melonjak , program ini adalah WordPress, Walaupun ia boleh menahan tempoh puncak semasa, CPU selalunya sekitar 98%, dan kelajuan capaian tidak sepantas dahulu
Dengan menyemak keadaan konkurensi netstat -an | grep ESTABLISHED | wc -l
, jelas sekali apabila mengakses sekitar 600 pengguna semasa tempoh puncak, anda perlu menunggu kira-kira 3 saat, dan bebannya juga sangat tinggi.
Apa yang saya ingin tahu tentang ini ialah:
Tolong beri saya tunjuk ajar daripada senior yang berpengalaman, terima kasih!
Lihat apa yang menduduki CPU, adakah ia menunggu IO.
Jika anda sudah mempunyai Nginx, gunakan saja Nginx + PHP-FPM Tidak perlu menggunakan Apache (kecuali anda mempunyai perkara lain yang memerlukan Apache Cuba gunakan PHP-FPM dan bukannya mod_php, dan tetapkan PHP-FPM dengan sewajarnya). ke memori. Bilangan maksimum proses (satu proses memerlukan kira-kira 20-40M memori).
Cadangan:
1. Tukar seni bina kepada Nginx+PHP-FPM, dan bina persekitaran Nginx+PHP-FPM
2. Letakkan semua fail statik (JS, CSS, gambar statik) pada CDN Sekarang harga CDN sangat murah 3. Lakukan kerja caching WordPress dengan baik. Banyak halaman blog WordPress boleh dicache secara statik Mesti ada banyak pemalam untuk mencapai ini
Jika masalah keserasian tidak besar, anda boleh mempertimbangkan untuk menaik taraf versi PHP. 5.5 mempunyai peningkatan prestasi yang besar.