Câu trả lời:
Cho đến nay, đây là những cân nhắc hàng đầu của tôi khi xác định Chủ đề so với Quy trình:
Chủ đề sẽ sử dụng hết bộ nhớ thường trú ít hơn nhiều so với Quy trình. Đúng, với các thư viện được liên kết động, rất nhiều bộ nhớ được chia sẻ giữa Quy trình điều khiển Apache và các quy trình con của nó, tuy nhiên mỗi Quy trình mới sẽ cần khởi tạo tất cả các mô-đun bạn đã bật.
Điều này có thể dễ dàng kiểm tra bằng cách so sánh mức sử dụng bộ nhớ của từng Quy trình mà bạn có, ví dụ, 5 Quy trình và 1 Chủ đề mỗi hoặc 5 Quy trình và 25 Chủ đề mỗi quy trình. Trong trường hợp của tôi ở đây, mỗi tiến trình con mất khoảng 7 MB bất kể số lượng Chủ đề.
+ Đối với chủ đề
Sẽ mất nhiều thời gian hơn để bắt đầu về thời gian và chu kỳ cpu để tải một Quá trình mới so với thực hiện một Chủ đề. Điều này có thể được kiểm tra bằng cách xác minh số lượng trang được cung cấp qua 'ab'.
+ Đối với chủ đề
Tất cả các Chủ đề của Quy trình đều phụ thuộc vào Quy trình .. Mối quan tâm lớn nhất ở đây là nếu có điều gì đó xảy ra với Quy trình, nó sẽ ảnh hưởng đến tất cả các Chủ đề được liên kết với Quy trình. Nếu bạn đang chạy với một Quy trình duy nhất với một loạt Chủ đề, thì khi Quá trình đó chết, Chủ đề cũng sẽ như vậy. Do đó, nhiều quy trình hơn sẽ gây ra sự phân tách tốt hơn và do đó khả năng chịu "lỗi" lớn hơn nếu bạn muốn.
+ Đối với quy trình
Liên quan đến (3), đối với các mô-đun như PHP, bộ nhớ của chúng được Quá trình tải và chia sẻ trên tất cả các Chủ đề. Điều này có nghĩa là nếu bạn có php với memory_limit được đặt thành 100Mbs với 25 Chủ đề bên dưới, thì ở mức tối đa về mặt kỹ thuật, mỗi Chủ đề sẽ có thể phân bổ tối đa 4 MB mỗi chủ đề (tất nhiên điều đó sẽ không xảy ra theo cách này, một số sẽ hog, một số sẽ chết đói ).
Vì vậy, cuối cùng, nó thực sự phụ thuộc vào trường hợp sử dụng của bạn .. Điều đó có nghĩa là, bạn sẽ muốn tối đa hóa lượng Chủ đề được sử dụng để giảm mức sử dụng bộ nhớ và tăng khả năng phản hồi. Tuy nhiên, bạn sẽ phải cân bằng điều đó với một lượng Quy trình phù hợp để có khả năng chịu lỗi tốt hơn.
Tất nhiên tôi không phải là chuyên gia ở đây vì gần đây tôi chỉ phải quan tâm đến vấn đề này, vì vậy tôi mong muốn được xem những câu trả lời khác có thể xuất hiện ở đây!