Tôi đã từng có 58 trang web .Net và 17 trang web ASP cổ điển cũ trên cùng một máy chủ IIS7.5 sử dụng các hồ bơi ứng dụng riêng biệt cho từng trang web. Tôi nhận thấy rằng quá trình nén IIS bắt đầu không liên tục, khiến cho các trang mẫu bị hỏng khoảng 5% thời gian. Nhìn vào nhiệm vụ mamanger trên máy chủ, tôi có thể thấy rằng máy chủ đang tiếp cận giới hạn ram 4GB của nó - mỗi quá trình w3wp.exe đã lấy bất cứ thứ gì lên đến 100 MB bộ nhớ tùy thuộc vào lưu lượng truy cập mà trang web nhận được. Sau đó tôi chuyển tất cả các trang web thành 2 hồ bơi ứng dụng (một cho các trang web .net 4 và một cho các trang web ASP cổ điển cũ) và tổng bộ nhớ được sử dụng sau khi thực hiện điều đó giảm từ 3.8GB xuống dưới 2.8 GB - tiết kiệm hơn 1GB bộ nhớ không gian trên máy chủ. Sau khi thay đổi (và để máy chủ chạy trong vài giờ để trở lại mức lưu lượng truy cập bình thường), quy trình w3wp đang sử dụng 300MB cho tất cả các trang web .net và 20MB cho các trang web ASP cổ điển. Tôi có thể mở lại IIS nén một lần nữa mà không có vấn đề gì.
Sử dụng các nhóm ứng dụng riêng biệt là một ý tưởng tuyệt vời cho nhiều lý do được đề cập bởi các bài viết khác ở trên, nhưng nó cũng theo kinh nghiệm của tôi gây ra chi phí bộ nhớ cao hơn nhiều nếu bạn đang lưu trữ số lượng trang web trên cùng một máy chủ.
Tôi đoán đó là sự cân bằng giữa các giới hạn phần cứng và bảo mật cho dù bạn có muốn sử dụng các hồ bơi ứng dụng riêng biệt hay không. Đó là một ý tưởng tốt nếu bạn có các nguồn lực để làm điều đó.
Nguồn
2012-02-01 14:40:13
Bạn có thể muốn xem câu trả lời này trên serverfault.com. http://serverfault.com/questions/2106/why-add-additional-application-pools-in-iis/2116#2116 –