A Deep Dive into Advanced Settings for Optimal Performance by info.odysseyx@gmail.com October 3, 2024 written by info.odysseyx@gmail.com October 3, 2024 0 comment 4 views 4 Application pools provide isolation between various Web applications in Internet Information Services (IIS) by allowing you to manage application-specific resources, recycling, and performance. Controlling CPU usage is one of the most important factors in the performance and management of application pools. IIS includes a dedicated section below. ApplicationPool -> Advanced Settings For CPU management, it provides a variety of settings to optimize CPU utilization to ensure that no particular server resource is dominated by a single application. In this article CPU ApplicationPool settings that describe each option and its configuration. outline In application pool advanced settings CPU The section consists of many important configurations to control and monitor CPU usage. They are as follows – Limit (percent) restrictive measures Limit interval (minutes) Processor Affinity Mask Processor affinity mask (64-bit option) 1st limit (%) The Limit (Percentage) setting allows you to specify the maximum percentage of CPU that a specific application pool can use. Percentages are based on the total CPU capacity available on the server. 100 Indicates total CPU performance. Set the value of this property to: 0 Disables limiting worker processes to a certain percentage of CPU time. And when the limit set by CPU Limit is exceeded, an event is logged in the event log and an optional set of events can be triggered based on the CPU Limit task property. For multi-core processors, there is a limit on the total CPU time of all cores. For example, if you set the limit to 25% on a 16-core computer, the application pool will not be able to use more than the equivalent of 4 cores. #2 Restrictions This setting specifies what IIS will do when an application pool exceeds the configured CPU limit percentage. You can select your desired action from the list below. no action: IIS monitors CPU usage but does not take any corrective action if an application pool exceeds its CPU limits. Only log entries are created in the event log. KillW3WP: When CPU usage exceeds the limit, IIS terminates the worker process (w3wp.exe) associated with the application pool. During the reset interval, the application pool is shut down and a log entry is created in the event log. throttle: IIS attempts to slow down applications by delaying access to CPU resources when limits are exceeded. This helps ensure that other application pools or processes have sufficient CPU resources. Throttle under load: This option allows your application to exceed CPU limits when the server is under low load, but is limited when the server is under high demand. #3 Limit Interval (Minutes) The throttling interval determines how long (in minutes) IIS measures CPU usage. When the number of minutes elapsed since the last process accounting reset reaches the value defined for this property, IIS resets the CPU timers for both logging and throttling intervals. Setting this property to 0 disables CPU monitoring. #4 Enable Processor Affinity The processor affinity mask property ensures that worker processes serving this application pool run on specific CPUs based on the processor affinity mask value. #5 Processor Affinity Mask This setting allows you to restrict an application pool to run on specific processors (or CPU cores). The affinity mask is a bitmask that specifies the processor on which the application pool should run. You can use the available CPU Affinity Mask calculator online or calculate it manually. If you would like a detailed explanation on how CPU Affinity Mask is calculated, please feel free to leave a comment. I will write a follow-up article on this topic. #6 Processor affinity mask (64-bit option) Specifies the upper hexadecimal mask for 64-bit systems. This setting provides the same functionality as the processor affinity mask, but extends support to systems with more than 32 processors. key points It is generally safer to use. throttle or Throttle under load Maintain system stability without abruptly terminating applications. KillW3wp This is a more aggressive approach and should be used with caution as killing worker processes can cause application downtime and poor user experience. Additionally, processor affinity masks are rarely used unless you’re dealing with specific performance tuning scenarios or licensing restrictions for multi-core processors. Modern CPU scheduling mechanisms in OSs generally handle processor allocation more efficiently. conclusion Managing CPU settings within IIS application pools is important to maintain performance, stability, and efficient resource utilization. Properly configuring CPU limits and tasks can help prevent one application from consuming too much server resources. This ensures fair distribution of resources among different applications running on the same server. Properly managing CPU settings improves overall server health, making your IIS environment more resilient and adaptable to growth. Source link Share 0 FacebookTwitterPinterestEmail info.odysseyx@gmail.com previous post Announcing UNLIMITED Public Preview of Metadata Caching for Azure Premium SMB/REST File Shares next post Sync Up Episode 13: In Focus – Designing for Copilot You may also like 7 Disturbing Tech Trends of 2024 December 19, 2024 AI on phones fails to impress Apple, Samsung users: Survey December 18, 2024 Standout technology products of 2024 December 16, 2024 Is Intel Equivalent to Tech Industry 2024 NY Giant? December 12, 2024 Google’s Willow chip marks breakthrough in quantum computing December 11, 2024 Job seekers are targeted in mobile phishing campaigns December 10, 2024 Leave a Comment Cancel Reply Save my name, email, and website in this browser for the next time I comment.