nginx - Bagaimana untuk menetapkan parameter perkhidmatan web berdasarkan konfigurasi pelayan?
淡淡烟草味
淡淡烟草味 2017-05-16 17:02:45
0
3
615

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:

  1. Dengan konfigurasi pelayan ini, adakah trafik seperti ini adalah had? Sejauh manakah ia boleh dicapai?
  2. Apache (2.4) berfungsi dalam mod prefork Adakah proses akan dibuat apabila pengguna mengaksesnya?
  3. Parameter MaxConnectionsPerChild dalam konfigurasi prefork dalam Apache ialah bilangan sambungan maksimum untuk setiap proses Sebagai contoh, apabila mengakses halaman, akan terdapat permintaan js, css dan img pada masa yang sama masa, yang merujuk kepada tempoh keepAlive Bilangan sambungan?
  4. Bagaimana untuk menentukan dan menetapkan parameter konfigurasi apache atau nginx berdasarkan konfigurasi pelayan semasa? Bagaimanakah penggunaan sumber dikira?

Tolong beri saya tunjuk ajar daripada senior yang berpengalaman, terima kasih!

淡淡烟草味
淡淡烟草味

membalas semua(3)
曾经蜡笔没有小新

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan