Sử dụng prefork - Multi-Processing Modules (MPMs) trong httpd
19th Jan 2021A. Sử dụng Prefork
Mỗi request mỗi khi tới apache sẽ được apache đón nhận và tạo ra một child process để xử lý cái request này thông qua hàm fork() (như hình minh họa ở trên).
Ưu điểm của việc này :
- Các process được xử lý hoàn toàn một cách độc lập không liên quan gì đến nhau, cho nên nếu một process chế thì các process còn lại vẫn sống và vẫn hoàn thành công việc của nó.
- Vì không sử dụng chung vùng nhớ cho nên các process không quậy phá với nhau được.
Nhược điểm của việc này :
- Có vẻ nhược điểm lớn nhất chính là việc tạo ra quá nhiều các process sẽ chiếm dụng lượng RAM lớn.
Kiểm tra xem server có worker không?
Nếu bạn sử dụng prefork thì các bạn sẽ cần sử dụng các thông số sau đây (trong file httpd.conf) để config cho prefork.
Mã:
StartServers 8 # Số process được tạo ra lúc apache start up, nó được gọi là server process. MinSpareServers 5 # Số server process tối thiểu được chuẩn bị sẵn. MaxSpareServers 20 # Số server process tối đa được chuẩn bị sẵn. ServerLimit 256 # Giá trị lớn nhất của MaxClients trong thời gian chạy apache. MaxClients 256 # Số server process lớn nhất được chạy. MaxRequestsPerChild 4000 # Số lượng request tối đa mà một server process có thể phục vụ.
Add new comment