监控和维护 SharePoint Server 2010
适用于: SharePoint Server 2010
上一次修改主题: 2015-03-09
本文提供有关监视 Microsoft SharePoint Server 2010 场及其性能计数器的信息。若要维持 SharePoint Server 2010 系统性能,必须监视服务器才能确定潜在瓶颈。在可以进行有效监视之前,必须了解表明服务器场的特定部分是否需要引起注意的关键指标,并知道如何解释这些指标。如果发现服务器场在定义的目标之外运行,则可以通过以下方法调整服务器场:添加或删除硬件资源,修改拓扑或更改存储数据的方式。
本节中的信息旨在帮助管理员手动配置性能计数器和其他设置。有关使用内置于 SharePoint 管理中心界面的运行状况监视工具监视运行状况和解决问题的详细信息,请阅读以下文章:
在阅读本文之前,您应先阅读 SharePoint Server 2010 的容量管理和调整大小概述。
本文内容:
配置监视
消除瓶颈
配置监视
下面是在初级阶段监视环境时可以修改的设置列表,它将会帮助您确定是否需要进行更改。请记住,增加监视功能会影响使用率数据库所需的磁盘空间量。在环境稳定且不再需要进行此详细监视后,可能需要将以下设置还原为其默认值。
设置 | 值 | 注释 |
---|---|---|
事件日志淹没保护 |
已禁用 |
默认值为“已启用”。可以禁用该值,以便收集尽可能多的监视数据。在正常操作期间,应启用该值。 |
计时器作业计划 |
||
Microsoft SharePoint Foundation 使用率数据导入 |
5 分钟 |
默认值为“30 分钟”。如果降低此设置,则会更加频繁地向使用率数据库中导入数据,此设置在解决问题时特别有用。在正常操作期间,该值应为 30 分钟。 |
诊断提供程序 |
||
启用所有诊断提供程序 |
已启用 |
默认值为“已禁用”,但“搜索运行状况监视 - 跟踪事件”提供程序除外。这些提供程序会收集各种功能和组件的运行状况数据。在正常操作期间,可能需要还原为默认值。 |
设置“job-diagnostics-performance-counter-wfe-provider”和“job-diagnostics-performance-counter-sql-provider”计划间隔 |
1 分钟 |
默认值为“5 分钟”。如果降低此设置,则会更频繁地轮询数据,此设置在解决问题时特别有用。在正常操作期间,该值应为 5 分钟。 |
杂项 |
||
启用内容请求的堆栈跟踪 |
已启用 |
默认值为“已禁用”。如果启用此设置,则可通过流程堆栈跟踪来诊断内容请求问题。在正常操作期间,应禁用该值。 |
启用开发人员仪表板 |
已启用 |
默认值为“已禁用”。如果启用此设置,则可使用开发人员仪表板诊断页面缓慢或其他问题。在正常操作期间,一旦不再需要解决问题,应禁用该值。 |
使用率数据集 |
||
内容导入使用率 内容导出使用率 页面请求 功能使用率 搜索查询使用率 网站库存使用率 计时器作业 分级使用率 |
已启用 |
如果启用该组计数器的日志记录,则可在此环境中收集更多使用率数据,并可更好地了解此环境的流量模式。 |
性能计数器
如果正在使用使用率数据库,则可添加性能计数器,以帮助您监视和评估服务器场针对使用率数据库的性能,这样便可按特定间隔(默认情况下为 30 分钟)自动记录它们。在这种情况下,您可以查询使用率数据库,以检索这些计数器和图形在一段时间内的结果。下面的示例是使用 Add-SPDiagnosticsPerformanceCounter PowerShell cmdlet 向使用率数据库添加“% Processor Time”计数器。此计数器只需要在其中一台 Web 服务器上运行:
Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd
任何服务器系统都有大量应该进行监视的常规性能计数器。下表概述了这些性能计数器。
性能计数器 | 描述 |
---|---|
处理器 |
您应该监视处理器性能以确保所有处理器使用率不会居高不下(超过 80%),因为这表示该系统无法处理活动猛增的情况。而且,在常规状态下,您不会看到一个组件故障导致其余组件故障的多米诺效应。例如,如果有三台 Web 服务器,则应该确保所有服务器的平均 CPU 低于 60%,这样即使一台服务器出现故障,另外两台服务器仍有余地承担额外的负载。 |
网络接口 |
监视通过网络接口卡发送和接收数据的速率。该值应该始终低于网络容量的 50%。 |
磁盘和缓存 |
有大量应该定期监视的逻辑磁盘选项。尽管可用磁盘空间在任何容量研究中都很重要,但还应该查看磁盘处于空闲状态的时间。根据服务器上运行的应用程序或服务的类型,可能需要查看磁盘读写时间。读/写功能长时间排队会影响性能。缓存对于读写操作有很大影响。必须监视缓存故障是否增多。 |
内存和页面文件 |
监视可用于分配的物理内存量。内存不足会导致过度使用页面文件,并会增加每秒钟的页面错误数。 |
系统计数器
下表提供了可在 Web 服务器上使用 SPDiagnosticPerformanceCounter 向使用率数据库中监视的计数器集添加的系统对象和计数器相关信息。
对象和计数器 | 描述 |
---|---|
处理器 |
|
% Processor Time |
此计数器显示处理器在一段时间内的使用率。如果此计数器的值始终居高不下,则可能会发现性能受到不利影响。请记住在多处理器系统中对“Total”计数。您可能还会测量每个处理器的使用率,以确保不同内核之间的性能是平衡的。 |
磁盘 |
|
- Avg. Disk Queue Length |
此计数器显示采样间隔期间为选定磁盘排队的读写请求的平均数。只要磁盘读/写不出错,并且系统在不扩展队列的情况下稳定运行,较长的磁盘队列长度也可能不是问题。 |
Avg. Disk Read Queue Length |
排队的读取请求平均数。 |
Avg. Disk Write Queue Length |
排队的写入请求平均数。 |
Disk Reads/sec |
每秒钟读取磁盘的数量。 |
Disk Writes/sec |
每秒钟写入磁盘的数量。 |
内存 |
|
- Available Mbytes |
此计数器显示可用于分配的物理内存量。内存不足会导致过度使用页面文件,并会增加每秒钟的页面错误数。 |
- Cache Faults/sec |
此计数器显示在文件系统缓存中查找某页面而未找到时出现的错误的速度。如果是在内存中找到该页面,则此错误可能是软错误;如果是在磁盘上找到该页面,则此错误可能是硬错误。 有效使用缓存执行读写操作会对服务器性能产生显著影响。必须根据“Async Fast Reads/sec”或“Read Aheads/sec”的减少情况指示来监视缓存故障是否增多。 |
- Pages/sec |
此计数器显示为解决硬页面错误从磁盘读取页面或将页面写入磁盘的速度。如果此计数器的值升高,则表示出现系统范围的性能问题。 |
页面文件 |
|
- % Used and % Used Peak |
服务器页面文件(有时称为交换文件)将“虚拟”内存地址保留在磁盘上。当某进程必须停止,并等待系统将所需“虚拟”资源从磁盘检索到内存时,就会发生页面错误。如果物理内存不足,则会更频繁地发生这些错误。 |
NIC |
|
- Total Bytes/sec |
此计数器显示通过网络接口卡发送和接收数据的速率。如果此速率超过网络容量的 40-50%,则可能需要进行进一步调查。若要细化调查,请监视“Bytes received/sec”和“Bytes Sent/sec”。 |
进程 |
|
- Working Set |
此计数器指示给定进程工作集的当前大小(以字节为单位)。即使没有使用此计数器,也会为该进程保留此内存。 |
- % Processor Time |
此计数器指示给定进程使用的处理器时间的百分比。 |
Thread Count (_Total) |
当前的线程数。 |
ASP.NET |
|
Requests Total |
自服务启动以来的请求总数。 |
Requests Queued |
Microsoft SharePoint Foundation 2010 为通过 HTTP 在用户浏览器中呈现的 HTML 页提供了构建基块。此计数器显示等待处理的请求数。 |
Request Wait Time |
队列中最新请求等待进行处理的毫秒数。随着等待事件数量的增加,用户会体验到页面呈现性能降低。 |
Requests Rejected |
因处理请求的服务器资源不足导致未执行的请求的总数。此计数器显示返回 503 HTTP 状态代码的请求的数量,此代码指示服务器太忙。 |
Requests Executing (_Total) |
当前正在执行的请求数。 |
Requests/Sec (_Total) |
每秒执行的请求数。此计数器显示应用程序的当前吞吐量。在恒定负载情况下,该数量应该保持在一定范围内,但其他服务器工作(例如,垃圾收集、缓存清除线程、外部服务器工具等)除外。 |
.NET CLR 内存 |
|
# Gen 0 Collections |
显示自应用程序启动以来作为垃圾收集第 0 代对象(也就是最新最近分配的对象)的次数。该数量很有用,因为 #Gen 0: #Gen 1: #Gen 2 的比率可确保第 2 代收集次数不会显著超过第 0 代收集次数,最好以 2 为系数。 |
# Gen 1 Collections |
显示自应用程序启动以来作为垃圾收集第 1 代对象的次数。 |
# Gen 2 Collections |
显示自应用程序启动以来作为垃圾收集第 2 代对象的次数。此计数器(也称为完整垃圾收集)在第 2 代垃圾收集结束时递增。 |
% Time in GC |
显示自上一个垃圾收集周期以来进行垃圾收集所用时间的百分比。此计数器通常指示垃圾收集器代表应用程序收集和压缩内存所完成的工作量。此计数器仅在每次垃圾收集结束时进行更新。此计数器的值不是平均值;其值反映了最新观察到的值。在正常操作期间,此计数器的值应该低于 5%。 |
SQL Server 计数器
下表提供有关 SQL Server 对象和计数器的信息。
对象和计数器 | 描述 |
---|---|
常规统计信息 |
此对象提供的计数器用来监视常规服务器端活动,如当前连接数以及每秒与运行 SQL Server 实例的计算机连接或断开连接的用户数。 |
User Connections |
此计数器显示 SQL Server 实例上的用户连接数。如果看到这一数字自基准线上升了 500%,您可能会发现性能下降。 |
数据库 |
此对象提供的计数器用来监视大容量复制操作、备份和还原吞吐量以及事务日志活动。监视事务和事务日志以便确定数据库中发生的用户活动量以及事务日志达到的填满程度。用户活动量决定数据库的性能并影响日志大小、锁定和复制。监视低级日志活动以衡量用户活动和资源使用率,可帮助您找到性能瓶颈所在。 |
Transactions/sec |
此计数器显示每秒指定数据库或整个 SQL Server 实例上的事务数。此数字可帮助您创建一条基准线,并可帮助您解决问题。 |
锁定 |
此对象提供有关各资源类型上的 SQL Server 锁数的信息。 |
Number of Deadlocks/sec |
此计数器显示 SQL Server 上的每秒死锁数。此值通常应为 0。 |
Average Wait Time (ms) |
此计数器显示每个导致等待的锁请求的平均等待时间量。 |
Lock Wait Time (ms) |
此计数器显示锁在最后一秒内的总等待时间。 |
Lock Waits/sec |
此计数器显示每秒不能立即达到满意且必须等待资源的锁数。 |
闩锁 |
此对象提供的计数器用来监视称为闩锁的内部 SQL Server 资源锁。监视闩锁以确定用户活动和资源利用率,可以帮助您找到性能瓶颈所在。 |
Average Latch Wait Time (ms) |
此计数器显示必须等待的闩锁请求的平均闩锁等待时间。 |
Latch Waits/sec |
此计数器显示每秒无法立即授予的闩锁请求数。 |
SQL 统计信息 |
此对象提供的计数器用来监视发送到 SQL Server 实例的编译和请求类型。监视查询编译和重新编译数以及由 SQL Server 实例收到的批次数,可为您提供一个 SQL Server 以多快的速度处理用户查询以及查询优化器处理查询的效率的指示。 |
SQL Compilations/sec |
此计数器指示每秒进入编译代码路径的次数。 |
SQL Re-Compilations/sec |
此计数器指示每秒触发语句重新编译的次数。 |
计划缓存 |
此对象提供的计数器用来监视 SQL Server 使用内存存储对象(如存储过程)、临时和准备的 Transact-SQL 语句和触发器的方式。 |
Cache Hit Ratio |
此计数器指示规划的缓存命中数与查找数的比率。 |
缓冲区缓存 |
此对象提供的计数器用来监视 SQL Server 使用内存存储数据页面、内部数据结构和过程缓存的方式,并提供计数器来监视 SQL Server 读取和写入数据库页面时的物理 I/O。 |
Buffer Cache Hit Ratio |
此计数器显示在缓冲区缓存中找到而不需要从磁盘中读取的页面的百分比。该比率是缓存命中总数与自 SQL Server 实例启动以来缓存查找总数之比。 |
消除瓶颈
系统瓶颈表示为用户事务请求提供服务的资源不足时的争用情况。这些资源可以是物理硬件、操作环境或基于应用程序的资源。通常,出现瓶颈是因为自定义代码或第三方解决方案效率低下,与添加硬件相比,检查这些资源会产生更好的效果。出现瓶颈的其他常见原因包括:服务器场配置不正确,或者解决方案实施效率低下,其构造数据的方式所需要的资源远超过必要的资源量。对于系统管理员,通过经常监视性能来管理瓶颈问题很重要。在确定性能问题时,必须对消除瓶颈的最佳解决方法进行评估。性能计数器和其他性能监视应用程序(例如 System Center Operations Manager (SCOM))是跟踪和分析问题的主要工具,可帮助您开发解决方案。
物理瓶颈解决方法
物理瓶颈基于处理器、磁盘、内存和网络连接:过多请求争用过少物理资源。在“监视性能”主题中介绍的对象和计数器可用于指示出现性能问题的位置(例如,硬件处理器或 ASP.NET)。瓶颈解决方法要求您确定问题,然后进行更改,从而缓解性能问题。
问题很少会瞬间发生;性能通常是逐步降低的,如果使用性能监视工具或更复杂的系统(如 SCOM)定期监视,则可以跟踪这一过程。对于这两种选择,均可在不同程度上以报告文本或脚本化命令的形式将解决方案嵌入通知内。
一旦确定瓶颈问题不是因配置不正确、自定义代码/第三方解决方案效率低下或解决方案实施效率低下所致,则可能必须通过更改硬件或系统配置来解决这些问题。下表标识了问题范围以及可能提供的解决方法选项。某些选项建议进行硬件升级或修改。
对象和计数器 | 问题 | 解决方法选项 |
---|---|---|
处理器 |
||
Processor - % Processor Time |
超过 75-85% |
升级处理器 增加处理器数量 添加更多服务器 |
磁盘 |
||
Avg. Disk Queue Length |
逐步增加,系统不稳定并且一直在备份队列 |
增加磁盘数量或提高磁盘速度 将阵列配置更改为带区 将某些数据移到备用服务器 |
% Idle Time |
大于 90% |
增加磁盘数量 将数据移到备用磁盘或服务器 |
% Free Space |
小于 30% |
增加磁盘数量 将数据移到备用磁盘或服务器 |
内存 |
||
Available Mbytes |
在 Web 服务器上,少于 2 GB。 |
添加内存。 备注 SQL Server 的可用内存较低,这是设计使然,并非总是表示存在问题。 |
Cache Faults/sec |
大于 1 |
添加内存 提高缓存速度或增加缓存大小(如有可能) 将数据移到备用磁盘或服务器 |
Pages/sec |
大于 10 |
添加内存 |
页面文件 |
||
% Used and % Used Peak |
服务器页面文件(有时称为交换文件)将“虚拟”内存地址保留在磁盘上。当某进程必须停止,并等待系统将所需“虚拟”资源从磁盘检索到内存时,就会发生页面错误。如果物理内存不足,则会更频繁地发生这些错误。 |
添加内存 |
NIC |
||
Total Bytes/sec |
超过网络容量的 40-50%。此计数器显示通过网络接口卡发送和接收数据的速率。 |
通过监视“Bytes received/sec”和“Bytes Sent/sec”进一步调查。 重新评估网络接口卡速度 检查内存缓冲区的数量、大小和使用率 |
进程 |
||
Working Set |
大于内存总量的 80% |
添加内存 |
% Processor Time |
超过 75-85%。 |
增加处理器数量 将工作负荷重新分发给其他服务器 |
ASP.NET |
||
Application Pool Recycles |
每天几次,导致间歇性缓慢。 |
确保未实现相关设置,这些设置整天不必要地自动执行应用程序池回收操作。 |
Requests Queued |
排队的请求数成百上千。 |
实现更多 Web 服务器 此计数器的最大默认值为 5,000,您可以在 Machine.config 文件中更改此设置 |
Request Wait Time |
随着等待事件数量的增加,用户会体验到页面呈现性能降低。 |
实现更多 Web 服务器 |
Requests Rejected |
大于 0 |
实现更多 Web 服务器 |
See Also
Concepts
SharePoint Server 2010 的容量管理和调整大小概述
SharePoint Server 2010 的性能测试
SharePoint Server 2010 的容量规划
运行状况监控 (SharePoint Server 2010)
存储和 SQL Server 容量规划和配置 (SharePoint Server 2010)