2011-10-30 35 views
5

Tôi đã được hỏi câu hỏi sau vài lần và cảm thấy như tôi có thể có câu trả lời tốt hơn vì vậy tôi chuyển tiếp ở đây với hy vọng tìm thêm tài nguyên, sách blog hoặc con trỏ trên văn bản có thể mở rộng mã MVC3 C#. Nếu bạn có bất kỳ gợi ý về viết mã thực hiện tốt hơn được lưu trữ trên nhiều máy chủ, tôi sẽ đánh giá rất cao nó. Vì lợi ích của đối số cho phép nói rằng nó sẽ được cho mã dự kiến ​​trở lên của 10-20K lượt truy cập một ngày.Lưu ý mã hóa lưu lượng ASP.NET MVC cao

Câu hỏi: Bạn cân nhắc cân nhắc mã hóa nào để viết mã có thể mở rộng được phân phối trên nhiều máy chủ?

Đường ruột của tôi cho tôi biết câu trả lời nằm trong phiên xử lý. Nền tảng của tôi trong vài năm qua đã được viết bằng các dịch vụ và hình thức các ứng dụng không nhiều cho các ứng dụng web vì vậy tôi đang tìm kiếm thông tin có thể giúp tôi phát triển ứng dụng web cụ thể đặc biệt cho C# MVC3. Mọi blog hoặc sách mà bạn đề xuất chắc chắn sẽ xem xét!

+2

Cá nhân, tôi luôn cố gắng và tránh sử dụng phiên vì nó ít nhức đầu hơn khi chạy một ứng dụng trên nhiều máy chủ. Nếu bạn không sử dụng phiên trong ứng dụng của mình, bạn có thể tắt nó trong web.config để tăng mức hoàn hảo nhỏ! –

Trả lời

2

Một trong các quy tắc để triển khai các ứng dụng web có thể mở rộng là để chúng trở thành quốc tịch. Phiên là điều đầu tiên cần được đưa ra khỏi phương trình vì đây chính là điều làm cho ứng dụng trở nên có trạng thái. Nếu bạn có một ứng dụng hoàn toàn không quốc tịch, bạn có thể ném phần cứng khi lưu lượng truy cập tăng lên và ứng dụng sẽ có thể xử lý nó. Vì vậy, hãy bắt đầu bằng cách đặt dòng sau vào web.config của bạn:

<system.web> 
    <sessionState mode="Off" /> 
    ... 
</system.web> 

Bây giờ vấn đề sẽ nằm trên tầng dữ liệu là trạng thái của tiểu bang. Vì vậy, để cải thiện hiệu suất và giới hạn số lượng yêu cầu đến nút này sẽ là sử dụng bộ nhớ đệm. Cache càng nhiều dữ liệu càng tốt. Lưu trữ tốt hơn bộ nhớ cache này trên các máy riêng biệt so với các máy chủ web. Máy chuyên dụng để thực hiện bộ nhớ đệm.

+0

@xanatos - MVC không sử dụng ViewState –

+0

Đây là cảm ơn đầu vào tuyệt vời để trả lời. Bạn có thể đề xuất bất kỳ tài liệu đọc nào có thể giúp chứng minh một số kỹ thuật bộ nhớ đệm này không? Tốt hơn là C# MVC nghiêng nếu có thể nhưng tôi sẽ sẵn sàng! :) Cảm ơn một lần nữa. – likestoski

+0

@ likestoski, đây là phần giới thiệu về bộ nhớ đệm đầu ra: http://www.asp.net/mvc/tutorials/improving-performance-with-output-caching-cs Cũng là phần này cho bộ đệm đầu ra một phần của trang: http: // davidhayden .com/blog/dave/archive/2011/01/25/PartialPageOutputCachingASPNETMVC3.aspx Và đối với bộ nhớ đệm dữ liệu, đây là một loạt bài viết hay: http://stevescodingblog.co.uk/tag/memorycache/ –

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