Quantcast
Channel: General
Viewing all articles
Browse latest Browse all 7363

powershell latency when querying an application pool in suspend mode in IIS 8.5

$
0
0

Summary: In IIS 8.5 on Windows Server 2012 R2, when I set an application pool to Suspend on timeout, and it drops into Suspend mode, Powershell commands that attempt to look at that Application Pool last 2 minutes before completing.

If anyone can help, I'd be very appreciative.

Here are my recreation steps:

install/deploy a new Windows Server 2012 R2 server
install windows features:

Desktop-Experience
FileAndStorage-Services  
File-Services  
FS-DFS-Namespace  
FS-DFS-Replication  
FS-FileServer  
FS-SMB1  
InkAndHandwritingServices  
NET-Framework-45-ASPNET  
NET-Framework-45-Core  
NET-Framework-45-Features  
NET-WCF-HTTP-Activation45  
NET-WCF-Pipe-Activation45  
NET-WCF-Services45  
NET-WCF-TCP-PortSharing45  
PowerShell  
PowerShell-ISE  
PowerShellRoot  
RSAT  
RSAT-AD-AdminCenter  
RSAT-ADDS  
RSAT-ADDS-Tools  
RSAT-ADLDS  
RSAT-AD-PowerShell  
RSAT-AD-Tools  
RSAT-DFS-Mgmt-Con  
RSAT-DFS-Mgmt-Con  
RSAT-Feature-Tools  
RSAT-File-Services  
RSAT-File-Services  
RSAT-RDS-Tools  
RSAT-Role-Tools  
RSAT-SMTP  
RSAT-SNMP  
Server-Gui-Mgmt-Infra  
Server-Gui-Shell  
Server-Media-Foundation  
SMTP-Server  
SNMP-Service  
Storage-Services  
UpdateServices-RSAT  
UpdateServices-UI  
User-Interfaces-Infra  
User-Interfaces-Infra  
WAS  
WAS-Config-APIs  
WAS-Process-Model  
Web-App-Dev  
Web-AppInit  
Web-ASP  
Web-Asp-Net45  
Web-Basic-Auth  
Web-Common-Http  
Web-Custom-Logging  
Web-Default-Doc  
Web-Dir-Browsing  
Web-Filtering  
Web-Health  
Web-Http-Errors  
Web-Http-Logging  
Web-Http-Redirect  
Web-Http-Tracing  
Web-ISAPI-Ext  
Web-ISAPI-Filter  
Web-Lgcy-Mgmt-Console  
Web-Lgcy-Scripting  
Web-Log-Libraries  
Web-Metabase  
Web-Mgmt-Compat  
Web-Mgmt-Console  
Web-Mgmt-Service  
Web-Mgmt-Tools  
Web-Net-Ext45  
Web-ODBC-Logging  
Web-Performance  
Web-Request-Monitor  
Web-Scripting-Tools  
Web-Security  
Web-Server  
Web-Stat-Compression  
Web-Static-Content  
Web-WebServer  
Web-Windows-Auth  
Web-WMI  
WoW64-Support

reboot
IIS should now be installed and running with default settings.

IIS->Application Pools->DefaultAppPool->Advanced Settings, change Idle Time-out from Terminate to Suspend
optionally switch Idle Time-out (minutes) from 20 to something lower like 1 minute
recycle app pool to ensure the new settings take effect
open IE and go to localhost to hit the IISstart.htm front page.
This should fire up the w3wp.exe process associated with that application pool (user name should match defaultapppool)

open PowerShell:  
ipmo webadministration
ls IIS:\AppPools\
this should list the app pools pretty quickly.

Wait for the application pool to timeout. The w3wp.exe process will drop from using about 15MB RAM down to 1-2MB RAM.
Run "ls IIS:\Apppools\" in PowerShell again.
While the application is in suspend mode, this command will hang for exactly 2 minutes before completing and it hangs on the app pool that is in suspend.

Recycle the application pool or refresh the page in IE to take it out of Suspend, and the "ls IIS:\AppPools\" command will be fast again.

The IIS GUI does not experience this slowdown. The only slowness are commands in PowerShell that reference this application pool, either to list them all, of even to just get-item that specific app pool.


Viewing all articles
Browse latest Browse all 7363

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>