0

I have a web application that's consuming a WCF service. Both are slow on warmup after IIS reset or app pool recycle. So, as a possiible solution I installed Application Warm-Up for IIS 7.5 and set it up for both web site and wcf service. My concern is, it doesn't seem to make any difference - first time I hit the site it still takes long time to bring it up. I checked event logs, there are no errors. So I'm wondering if anything special needs to be done for that module to work.

Andrey
  • 20,487
  • 26
  • 108
  • 176

3 Answers3

2

In IIS manager, when you go into the site, then into Application Warm-Up, the right-hand side has an "Actions" pane. I think you need the following two things:

  1. Click Add Request and add at least one URL, e.g. /YourService.svc

  2. Click Settings, and check "Start Application Pool 'your pool' when service started"

Do you have both of these? If you don't have the second setting checked, then I think the warmup won't happen until a user hits the site (which probably defeats the purpose of the warmup module in your case).

David James
  • 525
  • 3
  • 6
  • I do have a request url pointing to my service, and I do have "Start App Pool" checked. And still, if I leave the box for a few minutes and then try to access the site again, it takes a long time to load the first page or to get response form WCF service. – Andrey Feb 16 '11 at 19:39
  • I sort of got disappointed in this plugin, and will probably end up writing a simple windows service that would ping both the site and wcf service every minute or so. – Andrey Feb 16 '11 at 19:40
  • When I tried it out, I could see w3wp.exe for my application pool appeared in task manager as soon as IIS started. Is the worker process still running for you after a few minutes? In Application Pools -> Advanced Settings, is there an "idle time-out" set, or a very short recycling time interval? – David James Feb 17 '11 at 02:03
1

There is a new module from Microsoft that is part of IIS 8.0 that supercedes the previous warm-up module. This Application Initialization Module for IIS 7.5 is available a separate download.

The module will create a warm-up phase where you can specify a number of requests that must complete before the server starts accepting requests. Most importantly it will provide overlapping processes so that the user will not be served by the newly started process before it is ready.

I have answered a similar question with more details at How to warm up an ASP.NET MVC application on IIS 7.5?.

Community
  • 1
  • 1
Jacob Hamacher
  • 574
  • 7
  • 13
0

After you have fixed possible software/code optimizations allow me to suggest that each and evey code needs processing via hardware cpu. And our server skyrocketed in performance when we went to a multicore cpu and installed more GIGS of ram and connected UTP-6 cable insetad of standard UTP 5e cable onto the server... That doesnt fix your problem but if you are obsessed with speed as much as us, then you will be interested in the various dimensions that bottleneck speed.

Sam
  • 15,254
  • 25
  • 90
  • 145