2015-03-24 24 views
7

Chúng tôi đang di chuyển một loạt các dịch vụ đám mây Web Roles tới các trang web Azure - hiện đang chạy trên gói dịch vụ/giá đặt dịch vụ ứng dụng - Phương tiện chuẩn 1.Trang web Azure Sử dụng bộ nhớ cho nhiều trang web có cùng một tệp DLL

Các trang web đều giống hệt nhau và tại một thời điểm nào đó, chúng tôi sẽ viết lại cơ sở mã để được nhiều người thích hợp. Tuy nhiên chúng tôi hiện đang lưu trữ chúng như nhiều trang web trên một Azure lưu trữ web kế hoạch duy nhất.

Về mặt sử dụng bộ nhớ, Azure sẽ chia sẻ các Dll giống nhau, ví dụ: tất cả các gói Nuget/ứng dụng lõi Dll? Hay chúng ta cần đủ bộ nhớ để tải một bản sao của mỗi Dll cho mỗi trang web? Hiệu quả tôi hy vọng chia sẻ bạn có thể chia sẻ các hội đồng phổ biến trên AppPools.

Tôi đã thấy đề cập đến các cài đặt mà MS đã thêm vào IIS để hỗ trợ mật độ tốt hơn cho các nhà cung cấp dịch vụ lưu trữ được chia sẻ. Tôi tin rằng .Net 4.5 đã thêm hỗ trợ cho interned Dll. Có bất kỳ cài đặt vv có ảnh hưởng đến cách Azure xử lý tình huống này không? Chúng tôi hiện đang chạy ở mức tiêu thụ bộ nhớ 94% của 3.5GB của chúng tôi và muốn hiểu liệu chúng tôi sẽ cần phải mở rộng quy mô sớm. Tôi hy vọng Azure sẽ có thể làm điều gì đó dưới sự che chở vì rõ ràng MS muốn tối đa hóa mật độ.

+0

Một câu hỏi đáng giá, có bạn đã cố gắng sử dụng aspnet_intern.exe này trong bất kỳ vai trò web của bạn. Tôi không nghĩ rằng microsoft hiện interning trên các trang web như chia sẻ của nó được lưu trữ như mô hình. – Saravanan

+0

No. Chúng tôi chưa bao giờ cần thiết để aspnet_intern trên vai trò web như mỗi khách hàng đã có vai trò web riêng của họ. Đối với các trang web chúng tôi không sử dụng tùy chọn lưu trữ được chia sẻ. Tôi không có ý tưởng làm thế nào MS có thiết lập nội bộ – GraemeMiller

+0

Tôi vừa mới tweet cho Scott Hanselman và Vettorio. Cho phép chờ đợi họ trả lời lại, họ là những chuyên gia mà tôi có thể nghĩ đến trong MS – Saravanan

Trả lời

2

Mỗi WebApp được phân tách bởi nhóm ứng dụng vì vậy nếu bạn có nhiều bản sao của cùng một trang, ngay cả khi chúng giống hệt nhau, tất cả chúng sẽ tải bản sao lắp ráp của riêng mình vào bộ nhớ.

Ngoài ra còn có hộp cát bảo mật do tính chất đa chiều của dịch vụ nên việc thực tập sẽ không hoạt động với điều đó.

Để theo dõi mức sử dụng bộ nhớ, bạn có thể xem gói dịch vụ ứng dụng. Cũng hữu ích là quá trình thám hiểm (WebApp> công cụ> quá trình thám hiểm)

+0

Nếu tôi có một máy chủ dự trữ lớn không phải là của tôi mặc dù? Hoặc là những người dùng khác đang chia sẻ cá thể IIS đó? Nếu không thể thực tập? Tôi đoán nó có lẽ không phải là một kịch bản phổ biến. – GraemeMiller

+0

Tôi hiện có 238 trang web chia sẻ tất cả nhiều dll (32 trong số đó), nó sẽ là hoàn hảo để có thể 'thực tập' những điều này. Tôi đã tìm thấy rằng tôi phải giữ cho mỗi máy chủ web ở 80% bộ nhớ nếu không trong thời gian cao điểm chúng chạy ra ngoài và tất cả các trang web không phản hồi. Tôi đã tạo ra một phản hồi xanh cho điều này: https://feedback.azure.com/forums/169385-web-apps-formerly-websites/suggestions/8274744-ability-to-effectively-intern-dlls-across-an-app –

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