2008-10-21 22 views
32

Ưu điểm và nhược điểm của việc có hồ bơi ứng dụng chuyên dụng trong việc duy trì ứng dụng web trong một hồ bơi ứng dụng mặc định là gì?Ưu điểm và nhược điểm của việc có hồ bơi ứng dụng chuyên dụng để giữ các ứng dụng web trong một hồ bơi ứng dụng mặc định

+0

Có thể là một ý tưởng hay để bạn làm rõ liệu bạn đang nói về các ứng dụng tương tác hoặc các trang web cung cấp nội dung. Ngoài ra có bao nhiêu ứng dụng/trang web mà bạn đang nói đến. Câu trả lời có thể khá khác nhau tùy thuộc vào thông tin này. – AnthonyWJones

Trả lời

20

Ưu điểm:

  • Ứng dụng này được tách ra từ mỗi khác, trừ khi IIS đi với nó, một khóa hồ bơi ứng dụng sẽ chỉ đưa ra các ứng dụng trong hồ bơi mà
  • Có khả năng chạy các ứng dụng dưới runtimes ASP.NET khác nhau , một hồ bơi cho 1,1 người khác cho 2,0 nếu cần
  • Có khả năng có cài đặt hồ bơi ứng dụng khác nhau cho các ứng dụng quan trọng hơn hoặc ít hơn. Ví dụ một trang web của công ty trong ASP.NET có thể muốn tắt sau __ phút không hoạt động, để ngăn chặn việc dỡ hàng vì phản hồi là rất quan trọng. Các trang web khác có thể không cần đến nó.
  • Có thể bảo mật các hồ bơi với nhau về quyền truy cập tệp, tuyệt vời cho bên thứ ba hoặc các ứng dụng không đáng tin cậy vì chúng có thể chạy trong tài khoản người dùng rất hạn chế.

Nhược điểm:

  • Mỗi hồ bơi ứng dụng có ngân hàng riêng của bộ nhớ và xử lý riêng của mình, do đó có thể sử dụng nhiều nguồn lực
  • Một số tìm thấy nó khó khăn để gỡ lỗi các ứng dụng là bạn có nhiều quy trình
+0

Thế giới nhỏ. Câu trả lời hay, Mitch! :) –

15

Các nhóm ứng dụng chuyên dụng thường sẽ khiến các sự cố xảy ra trong một trang web không ảnh hưởng đến các trang web khác. Nếu bạn chia sẻ các nhóm ứng dụng trên các trang web, bạn có thể mang xuống tất cả các trang web trên hộp khi điều kiện lỗi chỉ tồn tại cho một trang web cụ thể (hoặc nhóm ứng dụng).

Ngoài ra, nếu bạn đang trộn các phiên bản ASP.Net trên cùng một máy chủ web, bạn sẽ cần các nhóm ứng dụng khác nhau trên mỗi phiên bản ASP.Net ở mức tối thiểu hoặc thực hiện trên mỗi trang web.

Tôi không thể nghĩ ra lý do chính đáng nào để không phân chia các hồ bơi ứng dụng, việc này rất dễ thực hiện.

15

Lý do chính để kết hợp các trang web trong các nhóm ứng dụng là tiết kiệm bộ nhớ. Có một khoản phí lớn trên bộ nhớ khi chạy một số quy trình w3wp.exe. Nếu bạn không có lý do cụ thể để tách chúng ra, tốt hơn là giữ chúng lại với nhau.

+1

không nghĩ về điều đó ... điểm tốt. – JasonS

+3

XIN thêm nhận xét khi bạn bỏ phiếu cho câu trả lời. Người hỏi câu hỏi này thích câu trả lời này. Câu trả lời có sai không? Tại sao? – DOK

+0

+1 cho điều này. Nó không phải là một câu trả lời chăn. Tôi có một ứng dụng nhiều lớp chạy bên cạnh trang demo. Trang web dịch vụ và nội dung của trang demo đều nằm trong cùng một nhóm ứng dụng, trong khi sản xuất được phân tách. Làm cho tinh thần để làm một trong hai/cả hai vì nó là một cách rất đơn giản để phân bổ nguồn lực. – Gats

5

Tôi đồng ý với Jason.

Ngoài ra, bạn có thể chỉ định những người dùng khác nhau (chẳng hạn như tài khoản Windows) cho các nhóm ứng dụng khác nhau. Điều đó cho phép thiết lập những người dùng có các quyền khác nhau trong cơ sở dữ liệu. Điều đó giúp tăng cường bảo mật và cho phép theo dõi trang web/người dùng nào đang truy cập cơ sở dữ liệu, hữu ích khi truy tìm các vấn đề hiệu suất cơ sở dữ liệu.

+0

Thực tế, với [hồ sơ ứng dụng] (https: // blogs). iis.net/webdevelopertips/tip-98-did-you-know-the-default-application-pool-identity-in-iis-7-5-windows-7-changed-from-networkservice-to-apppoolidentity), bạn có thể cấp quyền DB * cho một hồ bơi ứng dụng cụ thể * mà không cần thêm tài khoản Windows. Điều này cũng bảo vệ dữ liệu của khách hàng của bạn: Nếu một ứng dụng web bị pwned, kẻ tấn công sẽ không nhận được quyền truy cập vào các cơ sở dữ liệu khác. – Heinzi

Các vấn đề liên quan