Người dùng thấy gì khi Apache đạt MaxCl Client?


8

Đôi khi, trong nhật ký lỗi Apache của tôi, tôi sẽ tìm thấy:

[error] server reached MaxClients setting, consider raising the MaxClients setting

Tôi đã cố tình hạ MaxCl Client trong quá khứ (xuống 60) do vấn đề hết bộ nhớ, nhưng tôi muốn biết chính xác những gì xảy ra ở cuối người dùng khi đạt đến giới hạn này trên máy chủ. Có phải trang họ đang truy cập chỉ mất nhiều thời gian để tải? Họ có nhận được một số loại thông báo lỗi?


1
Có lẽ sẽ không khó để xây dựng một bài kiểm tra cho việc này. Trong máy chủ thử nghiệm, hãy thử thả MaxCl Client xuống 1 và xem điều gì sẽ xảy ra khi bạn làm mới mọi thứ trong nhiều cửa sổ hoặc tab.
ghoti

Chắc chắn - tôi đã hy vọng ai đó sẽ biết trước khi tôi làm điều đó. Tôi không thể tìm thấy bất kỳ thông tin nào trong tài liệu của Apache.
runonplants

Câu trả lời:


13

Lúc đầu, các yêu cầu của máy khách sẽ được xếp hàng, cho đến khi có một tiến trình / luồng được miễn phí trên máy chủ apache. Vì vậy, khách hàng sẽ thấy sự chậm trễ trong việc tải trang. Xem MaxClientstài liệu tham số để biết thêm thông tin.

Khi được đặt trong hàng đợi tồn đọng, yêu cầu của khách hàng cuối cùng có thể hết thời gian ở phía máy khách. Sau đó, người dùng sẽ thấy một trang lỗi trong trình duyệt của nó cho biết rằng máy chủ đang mất quá nhiều thời gian để đưa ra câu trả lời. Ví dụ, giá trị hết thời gian mặc định là 300 giây trong Firefox . Hoặc người dùng sẽ hủy yêu cầu trước khi hết thời gian ...

Sau đó, nếu máy chủ nhận được nhiều yêu cầu hơn và không thể nhận được quy trình / luồng miễn phí kịp thời, ListenBackloghàng đợi có thể được điền (mặc định là 511 yêu cầu xếp hàng) và mọi yêu cầu tiếp theo sẽ không được phục vụ. Trình duyệt sau đó sẽ cho người dùng biết nó không thể kết nối với trang web, giống như nếu trang web bị hỏng hoàn toàn.

Hàng đợi tồn đọng này được quản lý ở cấp HĐH, trong triển khai TCP. Trong linux, listentrang man sẽ cung cấp cho bạn thêm thông tin về cách quản lý. Đây là một cách đọc rất sâu sắc khác về hàng đợi tồn đọng TCP trong các hệ thống linux và BSD .


Chính xác những gì tôi cần biết. Cảm ơn bạn! Bạn có tình cờ biết liệu có cách nào để xem có bao nhiêu quy trình trong hàng đợi ListenBacklog không?
runonplants

1
Hàng đợi tồn đọng này được quản lý bởi HĐH, như một phần của ngăn xếp tcp. Có một cái nhìn vào listentrang người đàn ông. Tôi không chắc có cách trực tiếp để biết hàng đợi này chứa gì. Ngoài ra, xem câu hỏi SO này . Tôi đã thêm thông tin vào câu trả lời của tôi.
Tonin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.