2012-11-21 20 views
18

Chúng tôi có một Windows2008R2 RemoteApp NET 4.5 ứng dụng NGEN-ed trên máy chủ RDS, với khoảng. 300 người dùng đồng thời cho cụm NLB 3-host.cách chính xác của việc cập nhật một ứng dụng RemoteApp với NGEN

Ứng dụng này đang được phát triển tích cực và các hội đồng RemoteApp triển khai cần được cập nhật (ví dụ: thay thế bằng những cái mới) khá thường xuyên.

Làm thế nào chúng tôi hiện đang làm việc này là như sau:

  1. Đổi tên file phải được thay đổi trên máy chủ từ xa, với những người dùng kết nối với nó (OS sẽ không cho phép các tập tin được ghi đè nếu họ được nạp),
  2. Viết file mới thay vì những cái cũ,
  3. NGEN cài đặt lắp ráp mới (mà trước hết không gỡ bỏ cài đặt những cái cũ!),
  4. Thông báo cho người sử dụng (thông qua ứng dụng riêng của mình) rằng phiên bản ứng dụng đã thay đổi và nó cần phải được khởi động lại,
  5. Dần dần cho phép người dùng khởi động lại ứng dụng với tốc độ của họ (ứng dụng khởi động lại simmultaneous sẽ cho kết quả tăng đĩa và tải CPU, làm ảnh hưởng đến hiệu suất máy chủ). Và như vậy cho tất cả các host trong cluster.

Sau đó, đôi khi máy chủ sẽ gặp lỗi màn hình xanh với lỗi Microsoft-Windows-Kernel-Power EventID 41 và tôi rất đổ lỗi cho thực tiễn cập nhật của chúng tôi chịu trách nhiệm về nó.

Do đó, câu hỏi: cách cập nhật ứng dụng RemoteAPP được đề xuất và NGEN-ing hội đồng mới mà không phải chấm dứt quá trình truy cập các cụm cũ (nghĩa là cho phép người dùng tiếp tục và khởi động lại khi họ muốn).

Cảm ơn bạn.

+0

Bạn có tìm thấy câu trả lời hợp lý cho điều này không? – Marty

+0

Có thể thực hiện giải pháp siêu V không? phiên bản mới có thể được triển khai thành một thể hiện bóng và địa chỉ ip được gán lại khi nó đã sẵn sàng để phát hành trực tiếp. nếu bạn tách biệt mặt trước và mặt sau, nó sẽ là một tải khá nhỏ ... –

+0

Không, tôi không thể tìm thấy câu trả lời hợp lý cho câu hỏi này. Thay vào đó, chúng tôi đã ngừng NGEN-ing các hội đồng và tăng nguồn tài nguyên hệ thống. lỗi màn hình xanh không xuất hiện kể từ đó. – user1029848

Trả lời

0

Bạn có thể sử dụng một ứng dụng khởi động được công bố qua RemoteApp. Khởi động sẽ lần lượt bắt đầu phiên bản mới nhất của ứng dụng.

Ex: có một khóa registry mà là con đường lên phiên bản mới nhất của ứng dụng của bạn

  1. Thêm một thư mục mới C:\Program Files\myApp\1.0.26\
  2. ngen các hội đồng mới
  3. Cập nhật khóa registry để trỏ đến thư mục mới
  4. Trình chạy khi chạy, khởi động phiên bản mới của ứng dụng
  5. Tùy chọn, xóa phiên bản cũ khi không còn sử dụng

điểm RemoteApp để C:\Program Files\myApp\startApp.exe

startApp.exe bắt đầu 1.0.26\theApp.exe

1

Tôi khuyên bạn nên tăng tốc các ứng dụng web của bạn bằng cách sử dụng "Đơn khởi Module cho IIS 7.5" mới và "Ứng dụng khởi tạo" được xây dựng vào IIS 8 thay vì ngen.

của Microsoft tuyên bố trang web: IIS Application khởi cho IIS 7.5 cho phép người quản trị trang web để cải thiện khả năng đáp ứng của những trang web của họ bằng cách tải các ứng dụng Web trước khi yêu cầu đầu tiên đến.

Tham chiếu: http://weblog.west-wind.com/posts/2013/Oct/02/Use-IIS-Application-Initialization-for-keeping-ASPNET-Apps-alive

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