Sau khi gãi đầu cố gắng tìm ra lý do tại sao trang web của tôi phản hồi quá chậm mặc dù tài nguyên máy chủ vẫn ổn, cuối cùng tôi đã kiểm tra trạng thái Apache và tìm thấy:
78 requests/sec - 0.7 MB/second - 8.5 kB/request
256 requests currently being processed, 0 idle workers
Dường như apache của tôi được tối đa hóa với các kết nối. Bất cứ ai cố gắng truy cập trang web của tôi đều được đưa vào "danh sách chờ" cho đến khi Apache miễn phí trở lại.
Có vẻ như tôi có hai lựa chọn.
A) Tăng giới hạn kết nối tối đa trên 256. Mặc dù theo bài viết này, điều đó không dễ dàng như vậy:
Theo mặc định, tham số MaxCl Client có giới hạn được biên dịch cứng là 256. Tuy nhiên, điều này có thể được thay đổi bằng cách biên dịch lại Apache. Một số bản phân phối hoặc công ty lưu trữ nâng giới hạn này lên giá trị rất cao, chẳng hạn như 512 hoặc thậm chí 1024 để đối phó với tải trọng lớn.
B) Xác định vị trí các tập lệnh đang chiếm quá nhiều thời gian. Điều này có vẻ khó khăn hơn nhiều đối với tôi, vì hầu hết các quá trình apache chỉ xuất hiện và sau đó biến mất một lần nữa. Ngoài ra, các tập lệnh PHP trang web của tôi được tối ưu hóa khá tốt ... và một lần nữa, tài nguyên máy chủ vẫn ổn:
Server load 2.69 (8 CPUs)
Memory Used 25.33% (2,039,108 of 8,048,804)
Swap Used 1.32% (54,156 of 4,095,992)
Tôi nên chọn tùy chọn nào (nếu là một trong số họ) và tôi nên làm như thế nào?
BIÊN TẬP
Thông tin thêm: Phiên bản máy chủ: Apache / 2.2.23 (Unix) mod_ssl / 2.2.23 OpenSSL / 1.0.0-fips DAV / 2 mod_auth_passthrough / 2.1 mod_bwlrict / 1.4 FrontPage / 5.0.2.2635
Xác nhận HTTP: http://pastebin.com/yBeLt6mP
Mẫu Yêu cầu Parital: http://pastebin.com/vzUVDMPR
Toggle Text-Wrap nếu các thùng dán xuất hiện kỳ lạ.