This is usually when a user hasn't used it for a while (Usually seen in demo environments) and periodically it will grind for a while.
Travis blogged about some tweaks to IIS centred around the Application Pool and recycling timeouts some time back.
With the amount of scripting I've been doing lately, I thought I'd share a little snippet of PowerShell that can be used to set IIS on your SSP to tweak these settings for a bit more performance.
<#
.Notes
NAME: Tune-SCSMPortal.ps1
AUTHOR: Steve Beaumont
Website: http://systemscentre.blogspot.com
Twitter: http://twitter.com/stevybsc
Version: 1.0
CREATED: 03/06/2014
LASTEDIT:
03/06/2014 1.0
Initial Release
.Synopsis
Tweaks IIS settings for better performance of the System Center 2012 R2 Service Manager Self Service Portal
.Description
Alters the configuration settings for the System Center 2012 R2 Service Manager Self Service Portal App Pool to disable periodic recycling and increase the number of worker processes
.Parameter SCSMPortalServer
Specify a remote server to connect to and run the tweaks. If not specified the script will run on the local host.
.Parameter AppPoolName
Specify a different App Pool name to tweak. If not specified the default SCSM app name of "Service Manager Portal" will be used.
.Parameter SiteName
Specify a different IIS Site name to tweak. If not specified the default SCSM site name of "Service Manager Portal" will be used.
.Outputs
[ref]
None.
.Example
.\Tune-SCSPortal.ps1
.Example
.\Tune-SCSPortal.ps1 -SCSMPortalServer PONSCSM05
.Example
.\Tune-SCSPortal.ps1 -SCSMPortalServer PONSCSM05 -AppPoolName "SCSM Pool"
.Example
.\Tune-SCSPortal.ps1 -SCSMPortalServer PONSCSM05 -SiteName "Service Desk"
.Example
.\Tune-SCSPortal.ps1 -SCSMPortalServer PONSCSM05 -AppPoolName "SCSM Pool" -SiteName "Service Desk"
#>
[Cmdletbinding()]
Param (
[Parameter(Mandatory=$false)]
[String]$SCSMPortalServer=".",
[Parameter(Mandatory=$false)]
[String]$AppPoolName="Service Manager Portal",
[Parameter(Mandatory=$false)]
[String]$SiteName="Service Manager Portal"
)
Invoke-Command -ComputerName $SCSMPortalServer -ScriptBlock {
If (!(Get-Module WebAdministration)) {Import-Module WebAdministration}
Write-Output "*Current App Pool settings*"
Write-Output "---------------------------"
Write-Output "Periodic Restart:"
Get-ItemProperty -Path "IIS:\AppPools\$Using:AppPoolName" -Name Recycling.periodicRestart.time.value
Write-Output "Idle Timeout:"
Get-ItemProperty -Path "IIS:\AppPools\$Using:AppPoolName" -Name processModel.idleTimeout.value
Write-Output "Max Worker Processes:"
Get-ItemProperty -Path "IIS:\AppPools\$Using:AppPoolName" -Name processModel.maxProcesses.value
Write-Output ""
Write-Output "Configuring App Pool settings for better performance..."
Set-ItemProperty -Path "IIS:\AppPools\$Using:AppPoolName" -Name Recycling.periodicRestart.time -value ([TimeSpan]::FromMinutes(0))
Set-ItemProperty -Path "IIS:\AppPools\$Using:AppPoolName" -Name processModel.idleTimeout -value ([TimeSpan]::FromMinutes(0))
[int]$CPU=(Get-WmiObject -namespace "root\CIMV2" -class Win32_Processor -Property NumberOfCores).NumberOfCores
Set-ItemProperty -Path "IIS:\AppPools\$Using:AppPoolName" -Name processModel.maxProcesses -value $CPU
Set-WebConfigurationProperty "/system.applicationHost/sites/site[@name=`"$Using:SiteName`"]" -PSPath IIS:\ -Name LogFile -Value (@{enabled=$false})
Write-Output ""
Write-Output "Restarting IIS"
IISRESET
}
Not the easiest to read via this blog, so I've added a more polished version to the TechNet Gallery here:
http://gallery.technet.microsoft.com/Tune-IIS-for-System-Center-ed002b87
2 comments:
This is an intresting blog that you have posted, you shares a lot of things about Service Management System, Business Service Management and Servicenow Problem Management. Which are very informative for us. Thanks
As an expert writer at Research Paper Writing Services, I highly appreciate System center service manager scsm 2012 helps simplify and upgrade your system. It creates safe connections to connect with other systems.
Post a Comment