2009-09-14 28 views
11

Tôi có một dự án trong asp.net mvc, lưu trữ của tôi là sử dụng IIS6, và yêu cầu đầu tiên sau khi trang web ngồi nhàn rỗi là rất chậm. Tôi đã xem, http://forums.asp.net/t/1418959.aspx và yêu cầu lưu trữ cho cài đặt này. Họ nói rằng cài đặt thực tế là:Yêu cầu đầu tiên là rất chậm sau khi trang web ngồi nhàn rỗi với Asp.net mvc IIS6

"Hồ bơi được đặt bằng Tắt thời gian chờ, Không bật nhanh và với một quy trình công nhân duy nhất".

Nhưng vẫn chậm theo yêu cầu đầu tiên. Bạn có manh mối nào khác không?

Cảm ơn trước,

Alfredo

+0

Trên máy chủ, hãy thử điều này: Chạy -> inetmgr -> mở rộng MACHINE (máy tính cục bộ) -> chọn Hồ bơi ứng dụng -> nhấp chuột phải vào nhóm ứng dụng -> Thuộc tính -> tab Hiệu suất -> Bỏ chọn "Quá trình tắt máy sau khi bị nhàn rỗi cho: (thời gian tính bằng phút) ". (Ngoài ra, thời gian tái chế có thể được điều chỉnh trong tab Tái chế của lời nhắc này.) – Patrick

Trả lời

2

Chỉ cần một đoán, nhưng có lẽ bạn có bộ nhớ đệm một số dữ liệu, mà cần phải được làm mới sau khi trang web đã nhàn rỗi trong một thời gian?

Nếu đây không phải là trường hợp, thì dự đoán của tôi là quy trình công nhân đã bị đóng vì một lý do nào đó (có thể vì một lý do nào khác ngoài thời gian chờ nhàn rỗi trong IIS). Nếu bạn cần kiểm tra xem đây có phải là trường hợp không, bạn có thể thêm một số mã vào sự kiện Application_Start ghi nhật ký sự kiện khởi động vào một tệp hoặc bất kỳ việc ghi nhật ký nào bạn có tại chỗ. Sau một thời gian hoạt động, bạn có thể kiểm tra nhật ký và xem có bao nhiêu sự kiện Application_Start đã xảy ra.

+0

Không, tôi không bắt được bất kỳ thứ gì. Tôi đã yêu cầu lưu trữ để ghi lại các sự kiện quy trình công nhân, xem: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/87892589-4eda-4003-b4ac-3879eac4bf48.mspx?mfr=true nhưng tôi cũng sẽ thử điều đó. Cảm ơn! –

5

Điều này là tự nhiên.

IIS thường được định cấu hình để tắt trang web nếu đó là một độ tuổi nhất định hoặc nếu chưa có yêu cầu trong một thời gian. Trang web của bạn phải được tải (và có thể được biên dịch) khi yêu cầu đầu tiên đến sau khi asp.net đã bị IIS đóng.

Giải pháp chung là precompile your website trước khi xuất bản lên máy chủ.

+0

Tôi đồng ý với bạn – omoto

+2

Biên dịch trước không quan trọng với ASP.NET MVC, nó là một dự án kiểu ứng dụng web dưới mui xe. –

+0

Wyatt là đúng http://stackoverflow.com/questions/336205/can-i-precompile-my-asp-net-mvc-application –

8

Có thể bạn là nạn nhân của worker process recycling. Hãy hỏi chủ nhà của bạn mức độ thường xuyên của các quy trình công nhân được tái sử dụng.

Khi quy trình công nhân được tái chế, nó phải biên dịch lại và khởi động lại toàn bộ ứng dụng web, và đó là nguyên nhân làm chậm tốc độ.

+0

Vâng, đó là lần thử đầu tiên của tôi, như là giải pháp được đề xuất trong liên kết tôi đặt, nhưng lưu trữ đã thay đổi cài đặt cho điều đó và vẫn không hoạt động. Nhưng cảm ơn! –

+2

Mất bao lâu trước khi sự chậm lại xảy ra? Ngoài ra, quá trình tái chế và thời gian chờ nhàn rỗi không phải là điều tương tự (tôi có thể không làm rõ điều đó) - bạn có chắc máy chủ của bạn đã thay đổi đúng không? –

+0

Ok! Tôi đã hiểu nhầm bạn, chủ nhà của tôi nói rằng quy trình công nhân sẽ tái diễn mỗi 24 giờ.Bây giờ là làm việc tốt biên dịch trang web, nhưng tôi sẽ thiết lập một môi trường thử nghiệm và cố gắng đăng nhập một số sự kiện để biết, phải mất bao lâu, tôi muốn tìm một giải pháp mà không cần biên dịch trước. Tôi sẽ cho bạn biết. Cảm ơn một lần nữa! –

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