Trước khi tùy chỉnh các chỉ thị, bạn cần hiểu cách thức hoạt động của các chỉ thị. Hãy để tôi giải thích bằng tiếng Anh. Máy chủ sẽ bắt đầu 2 tiến trình con được xác định bởi lệnh StartServers. Mỗi quy trình sẽ bắt đầu 20 luồng được xác định bởi chỉ thị ThemesPerChild, vì vậy điều này có nghĩa là 2 tiến trình chỉ có thể phục vụ 40 kết nối / máy khách đồng thời (tức là 20 × 2 = 40). Vì vậy, những gì nếu nhiều yêu cầu đến.
Bây giờ nếu nhiều người dùng đồng thời đến, thì một quy trình con khác sẽ bắt đầu, có thể phục vụ 20 người dùng khác. Nhưng có bao nhiêu tiến trình con có thể được khởi động được điều khiển bởi tham số ServerLimit, điều này có nghĩa là trong cấu hình ở trên, tôi có thể có tổng cộng 10 tiến trình con, với mỗi tiến trình con có thể xử lý 20 luồng, trong tổng số xử lý 10 × 20 = 200 người dùng đồng thời .
Nhưng có một vấn đề, số lượng được xác định trong MaxCl Client là 100 ở đây, điều này có nghĩa là sau 5 quy trình con, sẽ không có quy trình bổ sung nào bắt đầu do chúng tôi đã xác định giới hạn trên của MaxClents. Điều này cũng có nghĩa là nếu tôi đặt MaxCl Client thành 500, sau 10 tiến trình con và 200 kết nối, sẽ không có quá trình bổ sung nào bắt đầu và chúng tôi không thể phục vụ hơn 200 khách hàng đồng thời ngay cả khi chúng tôi đã tăng tham số MaxClient. Trong trường hợp này, chúng tôi cũng cần tăng ServerLimit lên 500/20 tức là MaxClents / ThemesPerChild = 25
Được rồi bây giờ bạn biết các chỉ thị và cách chúng hoạt động, vấn đề là làm thế nào để tính toán các chỉ thị. Hãy nhảy vào tính toán các giá trị chỉ thị.
Bạn có thể sử dụng tập lệnh shell này để xác định lượng bộ nhớ trung bình được tiêu thụ bởi một quy trình Apache. Ngoài ra, nó sẽ hiển thị tổng số lượng bộ nhớ được tiêu thụ bởi tất cả các quy trình Apache. Chỉ cần giải nén và thực hiện với lệnh sh. Kết quả chính xác sẽ được hiển thị khi máy chủ đang tải nặng.
Đầu ra
Sử dụng bộ nhớ Apache (MB): 57.586 Kích thước bộ xử lý trung bình (MB): 10.2
Apache Memory Usage (MB): 57.586
Average Proccess Size (MB): 10.2
nếu ở mức trung bình, hãy giả sử rằng một quy trình Apache tiêu tốn 50 MB RAM và máy chủ có RAM là 2048 MB và bạn muốn để lại 512 MB cho các quy trình còn lại, sau đó:
MaxClients = (2048MB – 512MB)/10MB = 153.6 ~ 153