PDA

View Full Version : Xin hỏi về MPM Worker, Threadpool, Prefork và Pẻchild



vnsp
22-03-2009, 14:17
Hôm nay em thử rebuild lại apache trên cPanel. Có phần chọn Module của apache. Có tới 5 lựa chọn MPM Leader, MPM Perchild, MPM Prefork, MPM Threadpool và MPM Worker.
Em không hiểu lắm về 4 module này.
Mong các anh giải thích cho em một chút. Đọc tài liệu trên http://httpd.apache.org/docs/2.0/mod/worker.html nhưng thú thật là em không hiểu gì.
Server nên chạy kiểu nào phù hợp.
Cấu hình: X3210, Ram 2Gb, 2 ổ 160Gb sata. Hệ điều hành CentOS5

[=========> Bổ sung bài viết <=========]

Em thử Build với Prefork. Kết quả server báo lỗi 500 Internal Server Error.
Em chẳng hiểu tại sao:
Apache 2.0
PHP 5.2.6
Chỉ chạy đc các trang HTML, chạy PHP thì chịu
Sau đó em rebuild lại lần nữa với Worker, thì thấy có nhiều idle worker quá. Như thế có ảnh hưởng gì không ạ?

LinuXpert
23-03-2009, 15:59
Trong 5 cái đó thì có 2 cái đáng quan tâm là MPM Prefork và MPM Worker. MPM Prefork là cách thức mỗi tiến trình (process) xử lý một kết nối còn Worker thì một tiến trình xử lý đồng thời nhiều kết nối thông qua các luồng (thread). Vi thế Worker hiệu quả hơn Prefork trong nhiều trường hợp, tuy nhiên một số phần mềm như PHP thì hoạt động không ổn định với MPM Worker nên nếu dùng Worker thì nên dùng PHP thông qua FastCGI. Trường hợp nhiều idle worker quá cũng không có gì nếu như RAM vẫn còn dư nhiều