Tag Info

Hot answers tagged

160

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 ...


18

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 ...


16

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

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 ...


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

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

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 ...


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

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 ...


7

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 ...


6

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 ...


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, ...


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 ...


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 ...


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 ...


4

You don't. You can confer permissions to local resources for the IIS APPPOOL{app pool name} identity for local resources per: How to assign permissions to ApplicationPoolIdentity account In Active Directory, the identity needs to be either a Well-Known security principal, an actual user/group/computer security principal, or a foreign/trusted security ...


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 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

The strict answer to your question is to set the limit to 1000*CPUPercent that you want to be the hard upper limit, and set the Action to KillW3WP. For example, to limit it at 90%, you would set the limit to 90000 More info on CPU limits in an application pool can be found here: ...


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

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 ...


3

I think that it is hard to recommend any schedule for recycling since that really depends on the business side, for example, is your site primarily US-based or is it globally accessed as well? In general I would recommend looking at your analytics and determine when its "safer" to perform the recycling. In fact the reason IIS uses 29 hours as the default ...


3

This looks like one of those cases where simulation (or source code access...>sigh<) is probably going to be the only way to see what the behaviour is with any degree of confidence. The documentation for the event log entry for CPU quota recycling talks about recycling as follows: By default, application pool recycling is overlapped, which means ...


3

500MB RAM will not be enough. You'll need a couple orders of magnitude more than that. The exact specs you'll need depend on the workload. How many daily hits are you expecting? Are these static pages or web apps? What is considered acceptable performance? What sort of IOPS does this require? How large are the databases? What are you really asking? And ...



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