Amalan terbaik untuk memori dan proses Apache di bawah beban tinggi
为情所困
为情所困 2017-05-16 17:03:02
0
1
755

Semak sama ada Apache sedang berjalan dalam mod kerja prefork

apachectl -V | grep MPM
httpd -V | grep MPM

Server MPM:     Prefork
 -D APACHE_MPM_DIR="server/mpm/prefork"

Lihat memori semasa yang diduduki oleh setiap proses

top -bn 1 | grep httpd

 56961 apache    20   0  406m  49m  40m S  1.9  0.1   0:21.92 httpd
 56963 apache    20   0  406m  53m  44m S  1.9  0.1   0:20.45 httpd
 56967 apache    20   0  402m  52m  42m S  1.9  0.1   0:20.28 httpd
 56971 apache    20   0  404m  54m  44m S  1.9  0.1   0:21.18 httpd
 56974 apache    20   0  415m  55m  42m S  1.9  0.1   0:20.07 httpd

Lajur RES ialah jumlah memori yang digunakan oleh proses Apache, lajur keenam dari kiri.

Kira bilangan proses

Bilangan maksimum proses = Jumlah memori yang boleh digunakan oleh Apache / Jumlah memori yang digunakan oleh setiap proses

Tetapkan parameter yang berkaitan

<IfModule prefork.c>
StartServers                30%MaxClients
MinSpareServers               5%
MaxSpareServers                 10%
ServerLimit                 256
MaxClients                  200 = 10G/50M
MaxRequestsPerChild 10000
</IfModule>

mula semula

  • apache sebenarnya akan mengawal proses dalam rangka kerja ini. Sebagai contoh, apabila beban tidak tinggi, proses akan dikurangkan secara automatik.
  • Kunci kepada perancangan Apache ialah jumlah memori semasa beban maksimum, yang berbeza daripada nginx
  • Kira nilai MaxClients
  • melalui jumlah maksimum memori
  • Semua nilai lain dikira daripada MaxClients
为情所困
为情所困

membalas semua(1)
PHPzhong

Ini adalah artikel. . . Padam padam padam

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