Yêu cầu đầu tiên sau một thời gian luôn chậm - ASP.NET MVC / IIS 8.5 / Windows Server 2012 R2 VPS


12

Tôi đang lưu trữ một ứng dụng ASP.NET MVC 5 lưu lượng truy cập thấp trên VPS với Windows Server 2012 R2 / IIS 8.5, với 1 GB RAM.

Vấn đề của tôi là yêu cầu đầu tiên sau một thời gian không có bất kỳ yêu cầu nào luôn nhận được phản hồi chậm - khoảng 1,5 giây theo Chrome Dev Tools. Các yêu cầu / phản hồi làm mới sau đó chỉ mất khoảng 45 ms .

Tôi đã đặt Chế độ bắt đầu thành Luôn luôn tuyệt vời trên nhóm ứng dụng và Tải trước được bật thành Đúng ở cấp độ trang web, nhưng nó hoàn toàn không có tác dụng . Ngay cả khi không có thay đổi / tải lên bất cứ điều gì, sau một thời gian trôi qua, với yêu cầu tiếp theo, phải mất 1,5 giây để nhận được phản hồi.

Câu trả lời:


9

Vấn đề là, bạn cần cài đặt tính năng IIS Application Initialization. Sau đó, nó sẽ làm việc với cấu hình của bạn.

Hình ảnh từ blog của Rick Strahl :

Tính năng IIS

Cũng nhớ đặt:

  • Chế độ bắt đầu để luôn luôn tuyệt vời trên nhóm ứng dụng
  • Tải trước được kích hoạt thành True ở cấp độ trang web

Bạn có thể cài đặt cài đặt này mà không cần cài đặt Mô-đun khởi tạo ứng dụng , nhưng sau đó chúng sẽ không có hiệu lực.

Thêm thông tin ở đây .


0

Có khả năng có một phiên bản không khớp giữa phiên bản .NET Framework mà trang web của bạn đang nhắm mục tiêu so với phiên bản .NET Framework Runtime được cài đặt trên Máy chủ Web không?

Và bạn đang triển khai một trang web không được biên dịch trước và / hoặc có thể cập nhật? -

Cài đặt tiền biên dịch nâng cao

Nâng cấp phiên bản .NET Runtime được dự định là tương thích ngược cao. Tuy nhiên, tôi gặp phải một vấn đề rất giống nhau khi di chuyển nhiều trang web nhắm mục tiêu .NET 4.5.1 Framework từ máy chủ Windows Server 2008 R2 sang máy chủ Windows Server 2012 R2 được vá vào .NET 4.6 Runtime. Tất cả tải trang ban đầu của tôi (trên nhiều trang web) bắt đầu mất hai phút cho mỗi trang riêng lẻ, thay vì một giây. Và tất cả các thử nghiệm của tôi với các cài đặt IIS khác nhau đều không thành công trong việc giải quyết vấn đề.

Cuối cùng, tôi đã có thể giải quyết vấn đề theo một trong hai cách:

  1. Tái tạo hoàn toàn máy chủ, được vá lên .NET 4.5 Runtime đã giải quyết vấn đề của tôi (cùng với việc thêm cài đặt đăng ký để chặn cài đặt .NET 4.6.1 ).
  2. Ngoài ra, việc triển khai lại các trang web của tôi với "Tiền biên dịch" đã được chọn và bỏ chọn "Cho phép cập nhật" cũng giải quyết vấn đề của tôi.

Ngược lại, tất cả các nỗ lực của tôi để khôi phục hoặc sửa chữa phiên bản .NET Runtime trên máy chủ sang .NET 4.5 Runtime không giải quyết được các vấn đề tải trang của tôi. (Về cơ bản, không có quy trình rõ ràng, đáng tin cậy nào để phục hồi hoàn toàn .NET Runtime khi thiếu hình ảnh lại máy chủ.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.