Tag Info

Hot answers tagged

138

Update: The original question was for Windows Server 2008, but the solution is easier for Windows Server 2008 R2 and Windows Server 2012 (and Windows 7 and 8). You can add the user through the NTFS UI by typing it in directly. The name is in the format of IIS APPPOOL\{app pool name}. For example: IIS APPPOOL\DefaultAppPool. IIS APPPOOL\{app pool name} ...


23

Yes, many: AppPools can run as different identities, so you can restrict permissions this way. You can assign a different identity to each app pool so that when you run task manager, you know which w3wp.exe is which. You can recycle/restart one app pool without affecting the sites that are running in different app pools. If you have a website that has a ...


17

1) It seems advisable to have an application pool per website. Are there any caveats to this approach? Can one application pool, for example, hog all the CPU, Memory, Etc...? This is a pretty good approach; there aren't any good reasons that I can think of to have different "sites" (applications) share the same pool. Unless they need to share a single ...


14

Since I had the same issue; application pools with applications that did not exist anymore, I did some research and finally managed to solve the issue. Here are some steps: Locate and edit your IIS 7 configuration file "applicationHost.config" with a text editor. It should be stored in "C:\windows\system32\inetsrv\config" Since the folder is somehow ...


12

You have to make sure that the 'From this location' field is set to the local machine and not the domain. I had the same issue and once I changed that it worked fine.


12

The only overhead incurred will be the few bytes taken up in applicationHost.config to define the Application Pools and any non-default settings they may have. If you have a 1000 unused app pools it might improve the time it takes to apply on-the-fly configuration changes to IIS (since there's less XML for the WAS service to parse), but with 5 App Pools I ...


11

You've mentioned "IIS Log File" (singular), but there are always two logs you need to evaluate: W3SVCnn logs (C:\Inetpub\Logs) from the website worker process, and HTTPERR logs (C:\Windows\System32\Logfiles\HTTPERR) from HTTP.SYS, which routes requests to worker processes and provides a kernel-mode queue designed to buffer clients from worker process ...


10

If you set your website's anonymous authentication settings to use the app pool identity then you only need to grant the app pool identity access, unless you have a section of the site that doesn't use anonymous authentication, in which case you need to also grant the authenticated users access. I recommend that configuration. It's refreshing to not have ...


10

Look at the app pool's Advanced Settings, and under Process Model you probably have 'Idle Time-out (minutes)' set to 20. If the site is not accessed for this amount of time, the app pool will shutdown, releasing it's resources back to the system.


8

The two accounts are different things. Think of the website identity representing the user of the site. If you create a new website this account is the anonymous IIS account. If you disable "Anonymous Authentication", your users will have to authenticate against the website (in a intranet/Windows domain site this could be implicite using the network ...


8

The script iisapp.vbs will list this information for you, it is located in the system32 folder, but you should be able to run it straight from the command line.


8

64-bit memory pointers and other related data structures are twice as large as their 32-bit counterparts. In addition, a 64-bit worker thread will incur a penalty every time it has to access 32-bit code or DLLs as it switches modes. (Research WoW64 and thunking.) The biggest (but not the only) advantage of using 64 bits is the ability to address much more ...


6

use Microsoft Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx You can turn on "command line" as a column and for the W3Wp.exe's it will tell you the app pool.


6

I create my IIS application pools and separate apps under these aspects: Mission-critical apps get their own app pool: this way I can insulate them from problematic applications. It makes individual configuration possible and I can more easily monitor or troubleshoot, if there are problems. Isolating apps by type: pooling by language/technology or .NET ...


6

Welcome to the wonderful world of SBS. Recommended requirements for RAM = 10GB... and it REQUIRES a minimum of 8gb. (according to Microsoft.) for a good reason. It's not a fine-tuned well-oiled machine... it's very sloppy, bloated, and has everything under the sun bundled together. The more RAM you can throw at that box... the better. Unfortunately, ...


5

Thanks to MattB, this Stack Overflow thread eventually led me to the right answer (for me). I ran the following command (from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727): aspnet_regiis.exe -GA domain\username ...where domain\username was the domain-qualified username (in the standard Windows format) of the user I was using for the app pool's identity. ...


5

No it isn't. You need to upgrade to IIS7 for that. In IIS6 you can set the enable32BitAppOnWin64 flag to true to enable the entire IIS instance to run 32 bit applications even if the server operating system is 64 bit. In IIS7 you can set this flag per application - which isn't possible in IIS6. This is one way of doing it in IIS7 (can be done through UI and ...


5

In Internet Information Services (IIS) Manager, go to Application Pools, choose your web application/site's pool and under Recycling choose the limit of maximum virtual memory the worker process can consume until it gets recycled. This blog post on MSDN explains when to configure memory recycling: When to configure Memory Recycling In most ...


5

The Warm-Up functions, specifically those related to IIS were either discontinued or no longer developed against. Scott's article was from pre-VS2010. They re-wrote the entire stack into a new IIS Module. You can now configure all of this directly from IIS using the Application Initialization Module. The module provides more features and functionality ...


4

Yes, the domain account will be added under Custom account: under Advanced Settings -> Identity. Below information is from Understanding the Built-In User and Group Accounts in IIS 7.0 IIS 7.0 automatically adds the IIS_IUSRS membership to the worker processes token at runtime. By doing this, accounts that have been defined to run as 'application pool ...


4

I finally found the issue. There is an optional web.config configuration section for the ASP.NET cache: http://msdn.microsoft.com/en-us/library/ms164606.aspx The default configuration is absolutely nonsense for 32-bit boxes with more than 2 GB of RAM: it would start to throw out items of the cache, if less than 10% of physical RAM is available. Having e. g. ...


4

I always configure a dedicated application pool for a web site. Low-cost web site hosting scenarios are where having a large number of sites per application pool makes sense. The memory limits are really only primitive safety thresholds to prevent a site from consuming all system resources. Note that this is more of a potential issue on Windows 2008 R2 ...


4

This is what I ended up doing: setting the server application cache for the .NET AppPools to a low value (5 MB) by setting the privateBytesLimit parameter in the web.config at %WINDIR%\Microsoft.NET\Framework\<version>\Config as suggested in this answer: <configuration> <system.web> <caching> <cache ...


4

I have answered a similar on StackOverflow. Microsoft moved the warmup feature to IIS 8, but they have also released the Application Initialization Module for IIS 7.5 as a separate download. The feature I think is most compelling is that this module also enables overlapped process recycling. The following tutorial from IIS 8.0 include a step-by-step ...


4

IIS 7.x has a built-in worker process view, including (per w3wp process): Application Pool Name. Process ID. State. CPU %. Private Bytes (KB). Virtual Bytes (KB). To access this view, simply: Open up the IIS Manager (inetmgr) Select the Web Server in the left pane Double-click the "Worker Processes" feature icon in the center pane Voila: Technet ...


3

Neither of them really has set performance or scalability characteristics divorced from the context of your app and its environment. Which would work better depends on what you have going on. Static: set number of app processes that hang around all the time. Conditions that argue for this include: You can afford to have enough instances of the app ...


3

If you open the Application Pool "tree" you should see which applications are associated to that pool. Of course, if all your application use the "Standard Application" name, this information has no value. So, when I create new applications, I always give them a meaningful name. Second tip: you could give IIS Metabase Analyzer a try: As the name ...


3

Prolem Solved: The IIS_IUSRS group was missing from the "impersonate a client after authentication" in the local security policy.


3

One worker process is enough in my opinion. Consider that requests are queued, not rejected, when another request is being served and no more threads are available in the process (I'm assuming that the process is multi-threaded).


3

Alex, A pretty open question but ultimately it comes down to load, resources and application/application types. The thing to be careful of is that the more pools you make (and you can make as many as you like!) - you will have an (kinda) instance of IIS running for each pool. We had a dedicated IIS (win2k3) server with 2Gb of memory and we wanted to ...



Only top voted, non community-wiki answers of a minimum length are eligible