Konfigurasi Apache Prefork MPM

Konfigurasi Apache Prefork MPM

Prefork adalah modul pelbagai pemprosesan lalai Apache. Apabila anda mula bekerja sebagai pentadbir sistem, anda secara amnya berurusan dengan pelayan trafik yang rendah. Anda tidak perlu tahu bagaimana Apache mengendalikan pelbagai proses pada satu masa. Malah saya tidak tahu semua mengenainya. Tetapi selepas beberapa hari ketika anda mula bekerja dengan pelayan beban tinggi dan anda perlu mengoptimumkan Apache. Masa itu penting untuk mengetahui tentang modul pelbagai pemprosesan di Apache dan bagaimana ia berfungsi

Konfigurasi lalai Apache Prefork

Berikut adalah konfigurasi modul multi-pemprosesan prefork lalai seperti di bawah untuk versi Apache.

Untuk Apache 2.4

Startservers 3 MinspareServers 5 MaxSpareServers 10 MaxRequestworkers 400 MaxConnectionSperphild 0 

Untuk Apache 2.2

Startservers 5 MinspareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestSperchild 0 

Arahan Konfigurasi Prefork:

1. Startservers: Arahan ini menentukan bilangan proses pelayan kanak -kanak untuk membuat permulaan Apache. Bilangan proses meningkat secara dinamik berdasarkan beban pelayan, jadi anda tidak perlu mengubah nilai ini secara normal.

2. MinspareServers: Ini adalah bilangan minimum proses kanak -kanak terbiar yang dikendalikan oleh Apache, yang selalu menunggu sambungan masuk. Sekiranya proses terbiar minimum kurang daripada nilai minspareServers, Apache akan memulakan proses kanak -kanak untuk mengekalkan pelayan ganti minimum.

3. MaxSpareServers: Ini adalah bilangan maksimum proses yang boleh berada dalam keadaan terbiar. Sekiranya ada proses terbiar yang lebih banyak daripada nilai maxSpareServers, proses induk membunuh proses kanak -kanak yang terbiar tambahan.

4. MaxClients dan MaxRequestworkers: Ini adalah arahan prefork yang paling penting. Bilangan permintaan maksimum yang ditetapkan ini boleh dikendalikan oleh pelayan Apache. Sekiranya bilangan maksimum sambungan atau permintaan melebihi nilai, semua permintaan tambahan perlu menunggu dalam barisan.

Simpan nilai ini setinggi perkakasan anda membolehkan anda. Lihat butiran di bawah, bagaimana menetapkan nilai ini.

a. Cari jumlah RAM pada sistem anda.
b. Ketahui berapa banyak RAM yang tersedia untuk pelayan Apache.
c. Memori purata yang digunakan oleh proses Apache tunggal.

Nilai <= ( Total Memory available for Apache) / ( Memory used by one process )5. MaxRequestSperchild atau MaxConnectionSperchild: Ini adalah jumlah maksimum permintaan yang dapat diproses oleh proses anak dalam hidupnya. Contohnya jika anda menetapkan nilai ini kepada 100. Mana -mana proses kanak -kanak baru akan berkhidmat sehingga 100 permintaan dan kemudian dibunuh oleh proses induk. Di tempat Apache memulakan proses anak baru.

Kami mengesyorkan untuk memastikan nilai ini lebih tinggi (sekurang -kurangnya lebih besar daripada 0). Menetapkan parameter ini 0 bermaksud proses tidak akan tamat tempoh, yang boleh menghasilkan masalah kebocoran memori dan mengambil ingatan yang tinggi.

Bilakah untuk menukar startservers, MinspareServers dan MinspareServers arahan nilai:

Anda tidak perlu menukar arahan ini pada pelayan trafik yang rendah. Sekiranya anda mengendalikan pelayan dengan beribu -ribu permintaan seminit, maka hanya anda perlu menukar nilai ini. Tetapi pertama -tama anda mesti tahu mengenai kekerapan penjanaan proses baru di Apache

    • Apache 2.2 dapat menjana satu proses sesaat.
    • Apache 2.4 dapat menjana sehingga 32 proses di tempat kedua. Apabila proses ganti terbiar minimum kurang daripada nilai MinspareServers, Apache Mula 1 Proses dan tunggu satu saat, jika masih kurang, Apache memulakan 2 proses dan tunggu sebentar, jika masih kurang Apache bermula 4 proses dan tunggu sebentar, Apache boleh memulakan 32 proses kanak-kanak ganti sesaat dan diulang sehingga proses ganti minimum melebihi nilai minspareServers.
    • Contohnya jika pelayan anda berjalan dengan Apache 2.2, maka Apache hanya dapat memulakan satu proses ganti sesaat. Ini bermaksud jika pelayan anda mendapat lebih daripada 1 sambungan sesaat, maka anda perlu menyesuaikan semua parameter ini untuk sentiasa menjalankan beberapa proses terbiar. Tetapi ia juga bergantung kepada berapa banyak masa yang diperlukan untuk diselesaikan.

      Begitu juga, jika pelayan berjalan dengan Apache 2.4, mungkin anda perlu mengubah parameter ini jarang sekali, kerana Apache 2.4 boleh memulakan 32 proses chiles sesaat.