1. Other Microsoft Assessment and Planning Tools
Several other products and tools are
available from Microsoft to assist with proper capacity analysis and
performance monitoring. Some of these tools are available for purchase
separately or can be downloaded for free. Selecting the right tool or
product depends on the goal you are trying to accomplish. For example,
you should use the Windows System Resource Manager (WSRM) if you want
to implement thresholds for the amount of resources an application or
process is allowed to consume, and System Center Operations Manager
might be deployed if you want to be notified when critical processes
behave abnormally on production servers.
Windows System Resource Manager
Windows System Resource Manager is officially
listed as a deprecated tool in Windows Server 2012 but is still
included in the feature set of Windows Server. Some of the
functionality has been replaced with Hyper-V for virtual guest and WSRM
will likely be removed from future versions but is still a useful tool.
WSRM enables you to configure how processor and memory resources are
allocated among applications, services, and processes. Having the
ability to control these items at such a granular level can help ensure
system stability, thus improving system availability and improving the
user experience. Assigned thresholds to services, applications, and
processes can prevent issues like high CPU consumption or heavy
resource contention. System Resource Manager is installed as a feature
via Server Manager. System Resource Manager can manage multiple items
on the local system and remote computers. Figure 1 shows the System Resource Manager interface.
Figure 1. Windows System Resource Manager.
To install System Resource Manager, follow these steps:
1. Launch Server Manager from the task bar.
2. From the Manage menu, select Add Roles and Features.
3. Click Next twice to get to the server selection page.
4. Select the local server and click Next.
5. Click Next to maintain the current system roles
6. Scroll down and select Windows System Resource Manager.
7. Click Add Features to confirm the installation of the administration console.
8. Click Next.
9. Click Install to install the Windows System Resource Manager and required components.
10. Click Close when the installation completes.
Note
A warning appears in Server Manager if the
Windows System Resource Manager service is not started. This service
must be running to use Windows System Resource Manager.
The same process can be
completed using PowerShell by executing the following commands in a
PowerShell session that was started as administrator:
Import-Module ServerManager
Add-WindowsFeature WSRM
After WSRM is installed, you can start
fine-tuning the Windows Server 2012 server’s processes, services,
applications, and other items to ensure CPU cycles and memory usage are
allocated appropriately. WSRM provides administrators with a means of
adjusting the system to meet the demands of those accessing it. WSRM
can allocate CPU time and memory usage through the use of the included
resource-allocation policies or a customized one. Observed system usage
and data obtained from tools like Performance Monitor can be applied
directly to WSRM policies. For example, if system monitoring reveals
that a particular application is in high demand but the same server is
busy providing other services, making the application sluggish, the
WSRM can allocate enough resources to both items to ensure that neither
the system nor the items being used are negatively impacted. It is very
common for WSRM to be implemented in conjunction with SQL Server to
improve sustainability in a consolidated environment. For example, if
10 WSRM-managed SQL Server instances exist, each instance can be
granted 10% of the total processor. Each instance can use its entire
share of the processor, but if nine instances are using less than their
allocated processor resource, the remaining instance can use more
processor resources. If demand for processor resources then increases
on one of the other instances, WSRM returns the resources as needed.
Resource-allocation policies are used in WSRM
to divide processor and memory usage among applications, services,
processes, and users. Resource-allocation policies can be in effect at
all times, or they can run on a scheduled basis. If certain events
occur or the system behaves differently, WSRM can switch to a different
policy to ensure system stability and availability. Resource-allocation
policies can be exported and imported between Windows Server 2012
servers, and the policies can also contain exclusions when something
doesn’t require specific resource assignments.
When accounting is enabled in WSRM,
administrators of the servers can review data collected to determine
when and why resource-allocation policies were too restrictive or too
loose. Accounting can also help identify problems with the items in the
policy as well as peak access times. Administrators can use the
information obtained by the accounting component of WSRM to make
adjustments to the policies. WSRM resource-allocation policies can
manage local and remote computers as well as Remote Desktop Services
sessions.
WSRM comes packaged with five predefined
policies. These templates provide administrators with a way to quickly
allocate resources, leaving room for fine-tuning at a later time. The
predefined resource-allocation policy templates are as follows:
• Equal per Process—Allocates
resources equally among all running processes, preventing one process
from consuming all available CPU and memory resources.
• Equal per User—Allocates resources equally among all users, preventing one user from consuming all available CPU and memory resources.
• Equal per Session—Allocates
resources equally among all Remote Desktop Services sessions,
preventing one session from consuming all available CPU and memory
resources.
• Equal per IIS Application Pool—Allocates
resources equally among all Internet Information Services (IIS)
application pools, preventing one session from consuming all available
CPU and memory resources.
• Weighted Remote Sessions—Controls priority for users who are remotely connected to the system.
Note
WSRM policies are only enforced when CPU
usage climbs above 70%. The WSRM policies are never active on processes
owned by the core operating system or any items in the exclusion list.
Tip
Memory limits should be applied in policies
only when the application, service, or process is having issues or not
allocating memory usage properly on its own.
A common task performed in WSRM is to create
matching criteria rules. Matching criteria rules allow an administrator
to define (or exclude) processes, services, or applications that should
be monitored by WSRM. This definition is used later in the WSRM
management process. To create a matching criteria rule, follow these
steps:
1. Launch Windows System Resource Manager from the Tools menu in Server Manager and choose to Connect to the This Computer.
2. Right-click the Process Matching Criteria item in the WSRM console and select New Process Matching Criteria.
3. Enter a unique name for the matching criteria in the Criteria Name box at the top and click Add under the Rules section.
• Enter the processes, services, or
applications in the Included Files or Command Lines section of the
Files or Command Lines tab.
Or
• Select the object type (Registered
Services, Running Process, Application or IIS App-Pool) from the
drop-down list, and click the Select button and select the object to
include.
4. To exclude items from the policy, check the Excluded Files or Command Lines check box.
• Enter the
processes, services, or applications in the Included Files or Command
Lines section of the Files or Command Lines tab.
Or
• Select the object type (Registered
Services, Running Process, Application or IIS App-Pool) from the
drop-down list, and click the Select button and select the object to
exclude.
5. Repeat the preceding steps to add all the exclusions and items that should be managed by or excluded from a WSRM policy.
Another task that is commonly performed is
creating custom resource-allocation policies. Similar to “matching
criteria rules” that look for specific process, service, and
application criteria, the custom resource-allocation policy provides
the administrator the ability to define how much of a resource should
be allocated to a specific process, service, or application. As an
example, if only 20% of the system processing should be allocated to a
print process, the resource allocation would be defined to limit the
allocation of resources to that process. To create a custom
resource-allocation policy, follow these steps:
1. Launch Windows System Resource Manager from the Tools menu in Server Manager and choose to Connect to the This Computer.
2. Right-click the Resource Allocation Policies option in the WSRM console, and select New Resource Allocation Policy.
3. Provide a name for the policy, and click the Add button in the Allocate These Resources section.
4. On the General tab, select the Process Matching Criteria and specify the percentage of processor time that will apply.
5. On the Memory tab, specify the maximum committed memory and working set limits.
6. The Advanced tab
allows you to select which processors the policy should be assigned to
as well as suballocating processor resources. If you want to edit these
parameters, make the changes and click OK.
7. Click OK when you have finished.
You can use the calendar component of WSRM to
schedule policy enforcement on a regular basis and by one-time or
recurring events. For example, policy enforcement might only be
necessary during normal business hours. Calendar control is enabled by
default and can be controlled by right-clicking the Calendar item in
the WSRM console and selecting the Enable or Disable option. To create
calendar items based on scheduled times, follow these steps:
1. Launch Windows System Resource Manager from the Tools menu in Server Manager and choose to Connect to the This Computer.
2. Expand the Calendar item in the WSRM console by clicking the right arrow.
3. Right-click the Schedule option and select New Schedule.
4. Enter a name and description for the schedule.
5. Double-click a time slot in the New Schedule window, specify the policy, start and stop times, and click OK.
Instead of creating a calendar item based on
scheduled times, you can create the calendar item based on a specific
triggered event. To create calendar items based on specific events,
follow these steps:
1. Launch Windows System Resource Manager from the Tools menu in Server Manager and choose to Connect to the This Computer.
2. Expand the Calendar item in the WSRM console by clicking the right arrow.
3. Right-click the Calendar Event option, and select New One Time Event.
4. Enter a name for the event.
5. Select Policy Name or Schedule Name, and select the appropriate policy.
6. Specify a start and end date and time (not available if associated with a schedule) and click OK.
For calendar events that you want to trigger
based on recurring events, you can create a rule for this to happen. To
create recurring events, follow these steps:
1. Launch Windows System Resource Manager from the Tools menu in Server Manager and choose to Connect to the This Computer.
2. Expand the Calendar item in the WSRM console by clicking the right arrow.
3. Right-click the Calendar Event option, and select New Recurring Event.
4. Enter a name for the event.
5. Select Policy Name or Schedule Name, and select the appropriate policy.
6. Specify a start and
end time and specify a recurrence schedule, such as every Monday (not
available if associated with a schedule) and click OK.
One example of where WSRM is useful is when
an administrator wants to allocate system resources to sessions or
users who are active on a Windows Server 2012 Remote Desktop Services
system. Configuring a WSRM policy for Remote Desktop Services can
ensure the sessions will not behave erratically and system availability
will be stabilized for all who use the Remote Desktop Session Host
server. This is accomplished using the Equal per User or Equal per
Session policy templates provided with WSRM. To allocate resources to a
Windows Server 2012 Remote Desktop Services system, follow these steps:
1. Launch Windows System Resource Manager from the Tools menu in Server Manager and choose to Connect to the This Computer.
2. Expand the Resource Allocation Policies option in the WSRM console.
3. Right-click Equal_Per_Session or Equal_Per_User, and select Set as Managing Policy.
4. A dialog box opens indicating that the calendar function will be disabled. Click OK.
5. Click OK.
Assessment and Planning Solution Tool
The
Microsoft Assessment and Planning Toolkit (MAP) provides a solution to
IT personnel when faced with questions like “Which product should we
buy or deploy?” or “Are we ready for Windows Server 2012?” Granted,
there are multiple approaches to tackling questions like these;
however, Microsoft has again developed a tool that will do most of the
work for you. The Assessment and Planning Solution Tool inventories and
assesses systems, hardware, and software and makes product and
technology recommendations based on those results. The discovery and
readiness tools included in the latest version of MAP include the
following business scenarios: Windows Server 2012, Windows Server 2008
R2, Windows 7 and IE 9, Office 365, Microsoft Azure, SQL Server 2012,
Office 2010, and more. You can download the Assessment and Planning
Solution Tool from the Microsoft Download site at www.microsoft.com/downloads/.
System Center Operations Manager 2012
System Center Operations Manager
(OpsMgr) 2012 has replaced its popular predecessor, SCOM 2007 R2.
OpsMgr 2012 provides substantial improvements on earlier versions in
availability, scalability, and monitoring of heterogeneous systems.
OpsMgr is a mature comprehensive monitoring and reporting solution that
reports on conditions related to services, system, and network
performance, and alerts administrators when problems arise (for
example, when critical services have failed to start, when CPU usage
consistently stays above a designated threshold, or when excessive
paging is observed by the OpsMgr agent). OpsMgr integrates directly
with Active Directory, Windows Server 2012, and most other Microsoft
technologies to provide an overall solution to help automate monitoring
of critical systems and processes. OpsMgr uses management packs
specific to the technology, such as the Windows Server 2012 baseline
operating system, Exchange 2007/2010 or Internet Information Services
(IIS), so little configuration is needed out of the box.
2. Third-Party Toolset
Without a doubt, many third-party utilities
are excellent for capacity-analysis and performance-monitoring
purposes. Most of them provide additional functionality not found in
Windows Server 2012’s Performance Monitor and other tools, but they
have a cost and might have special requirements for deployment and
integration into the organization’s network. You
might want to evaluate some third-party utilities to get a more
thorough understanding of how they might offer more features than
Microsoft solutions. Generally speaking, these utilities enhance the
functionality that’s inherent to Microsoft monitoring solutions, such
as scheduling, an enhanced level of reporting functionality, superior
storage capabilities, the ability to monitor non-Windows systems, or
algorithms for future trend analysis. Table 1 lists some of these third-party tools.
Table 1. Third-Party Capacity-Planning and Monitoring Tools
Although it might be true that most
third-party capacity-analysis and performance-monitoring products might
add more or different functionality to your capacity-analysis and
performance-monitoring procedures or goals, there are still pros and
cons to using them over the free tools included with Windows Server
2012 or other solutions available from Microsoft. The key is to decide
what you need to adequately and efficiently perform capacity-analysis
and performance-monitoring procedures in your environment. Taking the
time to research and experiment with the different solutions available
today, from Microsoft and others, will only benefit you in making an
informed decision for managing your Windows Server 2012 environment.