监视和维护 SharePoint Server 2013
**上一次修改主题:**2017-08-25
**摘要:**了解如何监视和维护 SharePoint Server 2013。
本文讨论了SharePoint Server 2013场的监控和性能计数器。为了维护SharePoint Server 2013系统性能,必须监视服务器,以确定潜在的瓶颈。您可以有效地监视之前,必须了解将告诉您如果您的服务器场的特定部分需要引起注意,并知道如何解释这些指标的关键指标。如果您发现您的服务器场正在运行已定义的目标之外,您可以通过添加或删除硬件资源、 更改您的拓扑结构,或更改数据的存储方式调整您的服务器场。
本节中的信息旨在帮助管理员手动配置性能计数器和其他设置。有关使用 SharePoint 管理中心网站界面的内置运行状况监视工具进行运行状况监视和故障排除的详细信息,请阅读以下文章:
在阅读本文之前,您应先阅读 SharePoint Server 2013 的容量管理和调整大小概述。
本文内容:
配置监视
消除瓶颈
配置监视
下表列出了您在早期阶段可以更改以监视环境的设置,这将帮助您确定是否需要进行任何更改。提高您的监视功能会影响使用数据库将需要多少磁盘空间。环境稳定且不再需要此详细监视后,您可能需要将以下设置恢复为默认设置。
设置 | 值 | 注释 |
---|---|---|
事件日志淹没保护 |
已禁用 |
默认值为已启用。您可以禁用此设置以收集尽可能多的监视数据。对于正常操作,应将其启用。 |
计时器作业调度 |
||
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 将处理器时间百分比计数器添加到使用率数据库。这仅需在以下 Web 服务器之一上运行:
Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd
对于任何服务器系统,您需要监视多个通用性能计数器。下表概述了这些性能计数器。
性能计数器 | 说明 |
---|---|
处理器 |
您应监视处理器性能,确保所有处理器使用率不会始终保持很高水平(超过 80%),因为这表示系统将无法处理任何突发活动激增。并且通常情况下,将不会出现多米诺效应,即一个组件故障导致剩余组件均进入故障状态。例如,如果您具有三个 Web 服务器,您应确保所有服务器的平均 CPU 均低于 60%,因此当一个服务器出现故障时,另外两个仍有能力承担多余的负载。 |
网络接口 |
监视通过网络接口卡发送和接收数据的速率。这应保持在网络容量的 50% 以下。 |
磁盘和高速缓存 |
有多个您应定期监视的逻辑磁盘选项。可用磁盘空间在任何容量研究中都很重要,但您还应检查磁盘空闲时间。根据您在服务器上运行的应用程序或服务类型,您可以检查磁盘读取和写入时间。写入或读取功能的扩展队列会影响性能。缓存对读取和写入操作具有重大影响。您必须监视缓存故障是否增加。 |
内存和分页文件 |
监视多少物理内存可用于分配。内存不足会导致页面文件使用过量,且每秒页面故障数增加。 |
系统计数器
下表提供有关可在 Web 服务器上使用 SPDiagnosticPerformanceCounter 添加到使用率数据库中的监视计数器集的系统对象和计数器的信息。
对象和计数器 | 说明 |
---|---|
处理器 |
|
处理器时间百分比 |
这显示在一段时间内的处理器使用率。如果使用率持续偏高,您可能会发现对性能有不利影响。请务必计量多处理器系统中的"总量"。您也可以计量每个处理器的利用率,确保内核之间的平衡性能。 |
磁盘 |
|
- 平均磁盘队列长度 |
这显示在样本间隔内所选磁盘排队的平均读取和写入请求数。只要磁盘读取/写入不受影响且系统稳定运行且不会扩展队列,磁盘队列长度更大可能不是问题。 |
平均磁盘读取队列长度 |
排队的读取请求平均数量。 |
平均磁盘写入队列长度 |
排队的写入请求平均数量。 |
每秒磁盘读取次数 |
每秒磁盘读取数。 |
每秒磁盘写入次数 |
每秒磁盘写入数。 |
内存 |
|
- 可用的兆字节数 |
这显示多少物理内存可用于分配。内存不足会导致页面文件使用过量,且每秒页面故障数增加。 |
- 每秒缓存故障数 |
此计数器显示在文件系统缓存中查找页面但没有找到时的故障速率。当在内存中找到页面时,这可能是软故障;当页面磁盘上时,则是硬故障。 有效地使用缓存进行读取和写入操作可能对服务器性能产生显著影响。您必须监视缓存故障是否增加(由每秒异步快速读取数或每秒读取提前)表示。 |
- 每秒页面数 |
此计数器显示为解决硬分页故障而从磁盘读取或写入到磁盘的页面速率。如果该值增加,则表示出现系统范围的性能问题。 |
分页文件 |
|
- 已用百分比和已用百分比峰值 |
服务器分页文件(也称为交换文件)在磁盘上保存"虚拟"内存地址。当必须停止并等待某个流程但从磁盘将所需"虚拟"资源检索到内存中时,则会出现页面故障。如果物理内存不足,这些问题将会更加频繁地出现。 |
NIC |
|
- 每秒总字节数 |
这是指通过网络接口卡发送和接收的速率。如果该速率超过网络容量的 40-50%,您可能需要进行进一步调查。要优化您的调查,请监视每秒接收字节数和每秒发送字节数。 |
进程 |
|
- 工作集 |
此计数器指示为给定进程设置的工作集的当前大小(以字节为单位)。此内存保留用于指定进程,即使其未在使用。 |
- 处理器时间百分比 |
此计数器指示由指定进程使用的处理器时间的百分比。 |
线程计数 (_Total) |
当前的线程数。 |
ASP.NET |
|
请求总数 |
服务启动后的请求总数。 |
排队的请求 |
SharePoint Server 2013提供用于通过 HTTP 在用户浏览器中呈现的 HTML 页的构建基块。此计数器显示等待处理的请求数。 |
请求等待时间 |
最近的请求在队列中等待处理的毫秒数。随着等待事件数增加,用户会遇到页面呈现性能降低。 |
被拒绝的请求数 |
由于服务器资源不足而未执行的请求总数。此计数器表示返回 503 HTTP 状态代码(指示服务器繁忙)的请求数。 |
执行的请求数 (_Total) |
当前正在执行的请求数。 |
每秒请求数 (_Total) |
每秒执行的请求数。这表示应用程序的当前吞吐量。在常量负载下,此数字表示仍在特定范围内,如无其他服务器工作(例如垃圾回收、缓存清理线程、外部服务器工具等等)。 |
.NET CLR 内存 |
|
# Gen 0 集合 |
显示自应用程序启动后,0 代对象(即时间最短、最近分配的对象)被垃圾回收所回收的次数。此数字表示为 #Gen 0: #Gen 1: #Gen 2 时非常有用,以确保 Gen 2 集合数不会大大超过 Gen 0 集合,最佳系数为 2。 |
# Gen 1 集合 |
显示自应用程序启动后,1 代对象被垃圾回收所回收的次数。 |
# Gen 2 集合 |
显示自应用程序启动后,2 代对象被垃圾回收所回收的次数。此计数器从 2 代垃圾回收结束时开始增量增加。 |
GC 时间百分比 |
显示自上次垃圾回收周期起执行垃圾回收所用的时间百分比。此计数器通常指示垃圾回收器代表应用程序收集和压缩内存所执行的操作。此计数器仅在每次垃圾回收结束时更新。此计数器不是平均值。其值反映最后观察到的值。此计数器在正常操作下应低于 5%。 |
SQL Server 计数器
下表提供关于 SQL Server 对象和计数器的信息。
对象和计数器 | 说明 |
---|---|
一般统计信息 |
此对象提供的计数器用于监视常规服务器端活动,如当前连接数以及每秒与运行 SQL Server 实例的计算机连接或断开连接的用户数。 |
用户连接数 |
此计数器显示运行 SQL Server 的实例上的用户连接数。如果发现这一数字自基线上升了 500%,则会发现性能下降。 |
数据库 |
此对象提供的计数器用于监视大容量复制操作、备份和还原吞吐量以及事务日志活动。监视事务和事务日志以便确定数据库中发生的用户活动量以及事务日志达到的填满程度。用户活动量可以决定数据库的性能并影响日志大小、锁定和复制。通过监视低级日志活动来衡量用户活动和资源使用率,可帮助您找到性能瓶颈所在。 |
每秒事务数 |
此计数器显示在给定数据库或整个 SQL Server 实例上的每秒事务数。此数字可帮助您创建基线并对问题进行故障排除。 |
锁定 |
此对象提供关于各个资源类型上 SQL Server 的锁定的信息。 |
每秒死锁数 |
此计数器显示 SQL Server 上的每秒死锁数。该值通常为 0。 |
平均等待时间(毫秒) |
此计数器显示导致等待的每个锁定请求的平均等待时间。 |
锁定等待时间(毫秒) |
此计数器显示最后一秒锁定的总等待时间。 |
每秒锁定等待数 |
此计数器显示每秒不能立即满足且必须等待资源的锁定数。 |
闩锁 |
此对象提供的计数器用于监视称为闩锁的内部 SQL Server 资源锁。通过监视闩锁来确定用户活动和资源利用率,可以帮助您找到性能瓶颈所在。 |
平均闩锁等待时间(毫秒) |
此计数器显示必须等待的闩锁请求的平均闩锁等待时间。 |
每秒闩锁等待数 |
此计数器显示每秒钟内不能立即授予的闩锁请求数。 |
SQL 统计信息 |
此对象提供的计数器用于监视发送到 SQL Server 实例的编译和请求类型。通过监视查询编译和重新编译数以及由 SQL Server 的实例收到的批次数,可为您提供一个 SQL Server 以多快的速度处理用户查询以及查询优化器如何有效处理查询的指示。 |
每秒 SQL 编译数 |
此计数器指示每秒输入编译代码路径的次数。 |
每秒 SQL 重复编译数 |
此计数器指示每秒触发的语句重新编译次数。 |
计划高速缓存 |
此对象提供用于监视 SQL Server 如何使用内存存储对象(如存储过程、临时和预先准备的 Transact-SQL 语句及触发器)的计数器。 |
缓存命中率 |
此计数器指示规划的缓存命中数与查找数的比率。 |
高速缓冲存储器 |
此对象提供用于监视 SQL Server 如何使用内存存储数据页面、内部数据结构和过程缓存的计数器,以及用于监视 SQL Server 读取和写入数据库页面时的物理 I/O 的计数器。 |
高速缓冲存储器命中率 |
此计数器显示无需从磁盘读取即在高速缓冲存储器中找到的页面百分比。此比率由缓存命中总数除以自 SQL Server 实例启动后的缓存查找总数计算得来。 |
消除瓶颈
系统瓶颈的争用一个点表示有足够的资源来处理用户事务的请求。这些可能是物理硬件、 操作环境中,或基于应用程序的。通常,瓶颈的原因将自定义代码效率低下或第三方解决方案,并且回顾那些可能产生更好的结果比添加硬件。另一个常见的瓶颈原因是场或结构数据需要更多的资源,比实际需要的方式效率低下的解决方案实现的配置不正确。为系统管理员,您应通过持续监控性能管理瓶颈。当您确定性能问题时,必须评估删除瓶颈的最佳解决方法。性能计数器和其他性能监视应用程序,例如 SCOM,是跟踪和分析问题的主要工具,因此您可以开发一种解决方案。
物理瓶颈解决
物理瓶颈出现在处理器、磁盘、内存和网络连接中,即太多的请求争用太少的物理资源。"监视性能"主题中所述的对象和计数器表示找到性能问题,例如硬件处理器或 ASP.NET。要解决瓶颈,需要识别问题,然后进行更改以消除性能问题。
问题很少同时发生;如果您使用性能监视工具或更复杂的系统(如 SCOM)定期进行监视,通常可跟踪到性能逐渐降低。如果出现这些选项中的两个,您可以建议文本或脚本命令的形式,在不同程度上在警报中嵌入解决方案。
您可能必须通过更改硬件或系统配置,一旦确定,它们不由配置错误、 效率低下的自定义代码或第三方解决方案或效率低下的解决方案实现了解决瓶颈问题。下表标识问题阈值和可能的解决方法选项。某些选项建议硬件升级或修改。
对象和计数器 | 问题 | 解决方法选项 |
---|---|---|
处理器 |
||
处理器 - 处理器时间百分比 |
75-85% 以上 |
升级处理器 增加处理器数量 添加更多服务器 |
磁盘 |
||
平均磁盘队列长度 |
逐渐增加,系统不稳定且队列正在累积 |
增加磁盘数或速度 更改带区的阵列配置 将一些数据移到备用服务器 |
空闲时间百分比 |
少于 90% |
增加磁盘数 将数据移动到其他磁盘或服务器 |
可用空间百分比 |
少于 30% |
增加磁盘数 将数据移动到其他磁盘或服务器 |
内存 |
||
可用的兆字节数 |
Web 服务器上少于 2GB。 |
添加内存。 备注 SQL Server 可用内存设计为较低,且并非总是表示有问题。 |
每秒缓存故障数 |
大于 1 |
添加内存 根据需要增加缓存速度或大小 将数据移动到其他磁盘或服务器 |
每秒页数 |
大于 10 |
添加内存 |
分页文件 |
||
已用百分比和已用百分比峰值 |
服务器分页文件(也称为交换文件)在磁盘上保存"虚拟"内存地址。当必须停止并等待某个流程但从磁盘将所需"虚拟"资源检索到内存中时,则会出现页面故障。如果物理内存不足,这些问题将会更加频繁地出现。 |
添加内存 |
NIC |
||
每秒总字节数 |
网络容量的 40-50% 以上。这是指通过网络接口卡发送和接收数据的速率。 |
通过监视每秒接收的字节数和每秒发送的字节数进行进一步调查。 重新评估网络接口卡速度 检查内存缓冲区的数量、大小和使用情况 |
进程 |
||
工作集 |
超过总内存的 80% |
添加内存 |
处理器时间百分比 |
75-85% 以上。 |
增加处理器数量 将工作负载重新分发到其他服务器 |
ASP.NET |
||
应用程序池回收 |
每天多次,导致间歇性变慢。 |
确保您没有实施每天自动执行不必要的应用程序池回收的设置。 |
排队的请求 |
数百或数千个排队请求。 |
实施其他 Web 服务器 此计数器的最大默认值为 5000,并且可以更改此 Machine.config 文件中的设置 |
请求等待时间 |
随着等待事件数增加,用户将出现页面呈现性能降级的问题。 |
实施其他 Web 服务器 |
被拒绝的请求数 |
大于 0 |
实施其他 Web 服务器 |
See also
SharePoint Server 2013 的性能测试
SharePoint Server 2013 的容量规划
SharePoint Server 2016 中的监视和报告功能