Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Correct way of updating a RemoteAPP application with NGEN

We have a Windows2008R2 RemoteAPP .NET 4.5 application NGEN-ed on the RDS server, with approx. 300 concurrent users for the 3-host NLB cluster.

The application is under active development and the RemoteAPP deployed assemblies need to be updated (i.e. replaced with new ones) quite often.

How we currently do this is as follows:

  1. Rename files to be changed on the RemoteAPP server, with users connected to it (OS will not allow files to be overwritten if they are loaded),
  2. Write new files instead of old ones,
  3. NGEN install new assemblies (without first uninstalling old ones!),
  4. Notify users (via app itself) that the app version has changed and it needs to be restarted,
  5. Gradually allow users to restart the app at their pace (simmultaneous app restart would result in increased disk and CPU load, hurting the server performance). And so for all hosts in the cluster.

After this, the server would occasionally Blue-Screen-Crash with the Microsoft-Windows-Kernel-Power EventID 41 critical error - and I highly blame our update practice to be responsible for it.

Hence the question: what is the recommended way of updating a RemoteAPP application and NGEN-ing new assemblies without having to terminate processes accessing old assemblies (i.e. allow users to continue and restart when they feel like).

Thank you.

like image 284
user1029848 Avatar asked Nov 21 '12 15:11

user1029848


1 Answers

I recommend speeding your web apps using the new "Application Initialization Module for IIS 7.5" and "Application Initialization" is built into IIS 8 instead of ngen.

Microsoft's website claims: IIS Application Initialization for IIS 7.5 enables website administrators to improve the responsiveness of their Web sites by loading the Web applications before the first request arrives.

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

like image 61
user2883797 Avatar answered Sep 23 '22 09:09

user2883797