目录

简介

TempDB 指标与优化

Tempdb版本存储:运行时间最长的事务时间

Tempdb版本存储:生成速率字节/秒

Tempdb版本存储:清理速率字节/秒

Tempdb文件:版本存储字节

Tempdb文件:用户字节数(UsersBytes)

Tempdb文件:混合扩展数据块字节

Tempdb文件:内部对象字节数

Tempdb文件:可用字节数

Tempdb:版本存储字节数

Tempdb:用户对象字节数

Tempdb:混合扩展数据块字节数

Tempdb:内部对象字节数

Tempdb:可用字节数

SQL指标

重新编译/秒

重新编译/批处理

编译/秒

编译/批处理

批处理请求/秒

SQL Server:处理器时间

内存管理

SQL Server:可用内存

SQL Server:动态 SQL 缓存内存

锁等待/秒

锁超时/秒

平均锁等待时间

DataBase指标(存储)

总文件大小

已用总日志空间

使用的日志空间

DataBase指标(性能)

事务/秒

日志刷新等待/秒

日志刷新次数/秒

活跃事务

DataBase指标(文件)

使用的文件

文件大小

DataBase指标(性能-文件)

缓存管理

缓冲区页预期寿命

访问方式

页面拆分/秒

页面拆分/批处理请求

全扫描/秒

操作系统指标(进程)

进程:处理器时间

进程:使用的内存

机器:处理器时间

更多信息

平均 CPU 队列长度

更多信息

操作系统指标(网络)

网络利用率

操作系统指标(内存)

机器:使用的内存

内存页数/秒

操作系统指标(磁盘)

磁盘写入字节/秒

更多信息

磁盘传输/秒

更多信息

磁盘读取字节/秒

更多信息

磁盘平均写入时间

平均磁盘队列长度

磁盘平均读取时间


简介

没有多有的话语直接把各项指标罗列下来,各个指标的的含义解释 阈值建议和调优方案一起归档,适合DBA学习使用,不适合刚入门的学者。如果您对本文档由任何建议和批评,请联系我、我接受大家的建议。

TempDB 指标与优化

Tempdb版本存储:运行时间最长的事务时间

自事务开始以来比其他任何交易都长的时间长度(以秒为单位) 当前交易。

仅当数据库处于读取提交快照隔离状态时显示活动 水平。如果数据库处于任何其他隔离级别,则不收集数据。

Tempdb版本存储:生成速率字节/秒

这是将行版本添加到版本存储区的字节/秒速率。

Tempdb版本存储:清理速率字节/秒

这是清理和删除旧版本存储行的字节/秒速率。

可能的解决方案:如果此值较低且占用大量空间,请查找长时间运行事务。

Tempdb文件:版本存储字节

在临时数据库文件中为版本存储分配的空间总量。

为版本存储分配的统一扩展数据块中的空间量。版本存储用于快照 隔离、已提交读取快照隔离和联机索引重建。

Tempdb文件:用户字节数(UsersBytes)

从临时数据库文件中的用户对象的统一扩展数据块分配的空间总量。

不包括 IAM 页面,因为它们是从混合扩展数据块分配的。如果 PFS 页面是 从统一范围分配。

Tempdb文件:混合扩展数据块字节

分配给混合盘区(包括 tempdb 文件中的 IAM 页)的空间量。

Tempdb文件:内部对象字节数

tempdb 文件中已用于内部对象的空间量。

Tempdb文件:可用字节数

tempdb 文件中尚未分配给盘区的空间量。

可能的解决方案:如果此计数器意外低,请考虑使用较少的临时对象或 增加 tempdb 大小。如果启用了自动增长,Tempdb 将自动增长,并且有可用的磁盘 未满足空间和最大大小。请考虑增加 tempdb 大小,以便在重新启动后不需要增长。

Tempdb:版本存储字节数

在 tempdb 中为版本存储分配的空间大小。

解释:分配给版本存储的总字节数。在以下情况下,可以包含 PFS 页面 从统一范围分配。

可能的解决方案:如果此值很大且 tempdb 空间不足,请分配更多空间或关闭 RCSI 或快照隔离。

Tempdb:用户对象字节数

为 tempdb 中的用户对象分配的空间大小。

解释:为用户对象分配的总字节数,其中包括表变量和 临时表,跨所有文件。这包括已分配但未使用的空间。

可能的解决方案:如果这对于会话来说很大,那么有很多临时的 用于数据的结构。请考虑更改查询的结构以使用较少的临时表对象。

Tempdb:混合扩展数据块字节数

tempdb 中为混合盘区分配的空间大小。

解释:这是混合盘区使用的总字节数。这包括已分配和未分配 盘区,包括所有 IAM 页面。

可能的解决方案:从 SQL Server 2016 开始,tempdb 将使用统一扩展数据块。为 SQL Server 2014 及更早版本使用跟踪标志 1118 来确保统一扩展数据块。

Tempdb:内部对象字节数

为 tempdb 中的内部对象分配的空间大小。

解释:这是在统一盘区中分配的内部对象使用的字节数 tempdb 数据文件。不包括 IAM 页面,因为它们来自混合盘区。如果出现以下情况,则包含 PFS 页面 从统一盘区分配。

指导值:这里没有指南,但如果查询和此值有问题 与用户对象字节相比,会话的字节数较高,请查找以优化查询。如果用户字节数较高, 然后,临时对象将填充用户数据。

另请检查:Tempdb:用户对象字节数

Tempdb:可用字节数

tempdb 中未分配空间的大小。

解释:这是 tempdb 的数据文件中可用的字节数(页 * 8192),该字节数 位于未分配的盘区中。使用此值可以确定 tempdb 中可用于新对象的空间量。

指导值:应随时间跟踪此值,以确保您有可用空间 可用。在高峰工作负荷期间,此值应大于零。

如果出现问题,请向每个 tempdb 文件添加更多空间或添加更多 tempdb 文件。

SQL指标

重新编译/秒

每秒尝试执行事务处理 SQL 对象的次数 必须重新编译。

等效的 PerfMon 计数器:SQLServer:SQL Statistics - Re-Compilations/sec

解释:通常,一旦一个对象被编译,它就没有 要重新编译。重新编译存储过程或查询时,编译锁 放置在过程引用的对象上,数据库阻塞可能会 发生。过度的重新编译可能会导致严重的性能问题或可能编译 与任何已知锁定类型不兼容的锁。

指导值:重新编译/秒应尽可能小。 任何大于编译/秒10% 的值都可能表示存在问题。

另请检查:编译/秒,批处理请求/秒, 和编译/批处理请求,以确定快速和高效程度 SQL Server 和查询优化器正在处理用户查询。另请检查 SP:重新编译 和 SQL:StmtRecompile 探查器跟踪中的事件类,以标识存储了哪些类 过程和 SQL 语句每次运行时都需要重新编译。事件子类 数据列告诉您导致重新编译的原因。

重新编译/批处理

每秒 SQL 重新编译次数;每个数据点显示自 以前的数据点。

解释:编译允许 SQL Server 重用缓存查询 计划,从而减少服务器开销。如果查询计划的有效性和正确性失败 检查 提交批处理或 RPC 后,可能需要重新编译存储过程。 如果 SQL Server 确定更优化的查询计划,或者如果存在 是索引的基础碎片整理。

当存储过程重新编译时,将在引用的对象上放置一个编译锁 通过该过程,可能会发生数据库阻塞。过多的重新编译可能会 导致严重的性能问题,或者可能编译与 任何已知的锁定类型。

指导值:小于编译/秒值 10% 的值是可以接受的,但接近 0 的值是最佳的。

另检查 -编译/秒,批处理请求/秒, 和编译/批处理请求,以确定快速和高效程度 SQL Server 和查询优化器正在处理用户查询。另请检查 SP:重新编译 和 SQL:StmtRecompile 探查器跟踪中的事件类,以标识存储了哪些类 每次运行都需要重新编译过程。事件子类数据列告诉 你是什么导致了重新编译。

编译/秒

每秒 SQL 编译次数;每个数据点显示自上一个以来的平均值 数据点。

等效的 PerfMon 计数器:SQLServer:SQL Statistics - SQL Compilations/sec

解释:事务处理 SQL 编译的次数 每秒发生(包括重新编译)。值越低越好。每次编译 使用 CPU 和其他资源,因此 SQL Server 将尝试重用缓存的执行 尽可能计划。不必重新编译存储过程可减少 服务器上的开销,并加快整体性能。

指导值:通常,编译/秒应小于批处理请求/秒的 10%。高值 通常表示过度的即席查询,应尽可能低。

另请检查:批处理请求/秒

可能的解决方案:将即席查询重写为存储过程。 减少临时表的使用,或合并语句以在存储过程中消除它们。 检查“SET”语句 - 会话设置的更改,例如ANSI_PADDING或ANSI_NULLS 可能导致重新编译查询。如果 SQL 编译/秒过多,请考虑对数据库使用“强制参数化”。这告诉 SQL Server 强制参数化几乎所有选择、插入、更新 和 DELETE 语句,由于重用,需要较少的语句编译 的更多查询计划。

编译/批处理

SQL Server 收到的每个批处理请求的 SQL 编译。

Equivalent PerfMon counter:(SQLServer:SQL Statistics - SQL Compilations/sec) / (SQLServer:SQL Statistics - Batch Requests/sec)

解释:这应该提供一般指示,说明多快 并且有效地处理 SQL Server 查询优化器正在处理用户查询。

指导值:作为一般规则,编译/秒应小于批处理请求/秒的 10%。高值 通常表示过度的即席查询,应尽可能低。

另请检查:编译/秒和批处理请求/秒

批处理请求/秒

SQL Server 每秒接收的 T-SQL 批处理请求数,自 上次收集时间。

等效的 PerfMon 计数器:SQLServer:SQL Statistics - Batch Requests/sec

解释:这给出了繁忙程度的一般指标 SQL Server是。它测量您发送到 SQL Server 的所有批处理。数字 SQL Server 可以处理的批处理请求数取决于硬件的功能。 随着时间的推移跟踪此值可能会很有用,以衡量您的 系统,并确定用户请求何时出现高峰和低谷。

批处理请求/秒仅跟踪批处理数,而不跟踪语句 在批处理中。某些批次可能使用很少的资源,而其他批次则使用 巨大的资源。每个批次都是不同的,此指标仅提供 SQL Server 执行的批处理的绝对计数。

指导值:通常,每秒超过 1000 个批处理请求 表示 SQL Server 非常繁忙,并且可能突出显示 CPU 瓶颈的可能性。 更强大的硬件当然可以处理更多的请求。

另请检查:编译/批处理和编译/秒。 这些值应尽可能低,因为高值可能表示很多 正在运行的即席查询。可能需要优化 T-SQL。

SQL Server:处理器时间

在主机 Windows 上运行的 SQL Server 服务的处理器利用率 (%) 机器。

等效的 PerfMon 计数器:进程(sqlservr): % 处理器时间

解释:此值告诉您处理器的百分比 时间用于运行 SQLSERVR 进程(数据库引擎)。它不包括 其他与 SQL Server 相关的进程,如 SQL Server 代理、SSIS、报告 服务、分析服务和全文搜索。因为SQL Server:处理器 时间是机器的子集:处理器时间SQL 服务器:处理器时间值将较低。

注意: 在多处理器计算机上,SQL Server 通常使用超过 相当于一个处理器上的 100% 处理器时间。这是因为它的线程 可能正在使用多个处理器。

指导值:理想情况下,SQL Server:处理器时间应平均小于50%,以获得最佳SQL Server性能。如果超过平均值 持续时间(五分钟或更长时间)为 80%,则在 这一次,你应该调查它的原因。SQL Server 中的短峰值: 处理器时间超过 80% 是正常和预期的,并且只能持续 高 CPU 利用率是一个问题。如果尖峰表示平台期,而不是尖峰, 这可能表示运行缓慢的查询导致 CPU 问题。

通常,SQL Server:处理器时间应该是最繁忙的进程 ,并且将与计算机:处理器时间密切相关。 如果 SQL Server: 处理器时间大大小于Machine: 处理器时间,这可能表示某些其他进程 在主机系统上运行正在使用 CPU,可能会使用 CPU 资源,而这些资源可能会 由数据库引擎使用,以增强其性能。如果这是 案例中,确定哪些进程正在使用任务管理器以诊断哪些进程 正在主机系统上发生。

还检查 -机器:处理者时间的平均利用率 对于每个处理器进行求和,然后除以处理器数量 机器。如果此平均值为 80% 或更高,或者如果您始终记录平均值 大于 50%,您的处理器可能需要升级。此外,平均 CPU 队列长度可以更有力地指示处理器是否运行缓慢。

SQL Server:规划缓存

SQL 计划缓存使用的动态内存总量。

等效的 PerfMon 计数器:SQLServer:规划缓存 - 缓存页

解释:计划缓存用于存储常用的查询计划以提高数据库性能。SQL Server:计划缓存内存是缓存中的对象使用的内存量。

指导值:此值应约为 SQL Server 的 10-20%:目标服务器内存,并且相对稳定。如果此值增长到目标内存的 20% 以上,则服务器可能面临一定的内存压力 从计划缓存对象代替数据页。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。
  • 编译/批处理:每个批处理请求的 SQL 编译数 由 SQL Server 接收。此值较高表示计划缓存可能经常丢失。
  • SQL Server:授予工作区内存服务器当前动态内存总量 用于执行排序和索引创建等过程。此处的增长可能会导致计划缓存收缩。

内存管理

SQL Server:授予工作区内存

服务器当前用于执行排序和索引等进程的动态内存总量 创造。

等效的 PerfMon 计数器:SQLServer:内存管理器 - 授予工作区 内存 (KB)

解释:SQL Server 在执行进程(包括哈希、排序、 批量复制和索引创建。此指标是授予这些进程的内存量。

指导值:此指标通常应是服务器使用的总内存的一小部分。 SQL Server:授予工作区内存的急剧增加可能表示正在运行的进程。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。

SQL Server:总内存

服务器当前正在使用的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Total Server 内存 (KB)

解释:mssqlServer 服务的物理内存量 当前正在使用;包括提交到 SQL Server 的缓冲区总数 BPool 和“正在使用的操作系统”类型的缓冲区。

指导值:如果SQL Server: 总内存与计算机中的物理内存量相比相对较高,则 可能表示需要更多的物理内存。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。
  • 无缓冲页面:缓冲区中可用的可用空间数 缓存。一般来说,如果这个数字低于 640 页,这可能表明 SQL Server 内存压力。
  • 缓冲区页预期寿命:测量平均秒数 页面将保留在缓冲区缓存中而不被访问。一般而言 如果他的值低于 300 秒,这可能表明 SQL Server 内存不足 压力。

可能的解决方案:删除不必要的应用程序和服务 ,并添加更多物理 RAM。

SQL Server:目标内存

SQL Server 准备的最大动态内存量(缓冲池) 用。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Target Server 内存 (KB)

解释:显示最大动态内存量 ( 缓冲池),SQL Server 准备使用。此值不能超过最大值 服务器内存设置。当 SQL Server 首次启动时,此值对应于 在 SQL Server 启动时保留的缓冲区。默认内存管理行为 Microsoft SQL Server 数据库引擎将根据需要获取尽可能多的内存 不会在系统上造成内存不足。如果 SQL Server 需要更多的物理 启动后的RAM,如果MB可用,则SQL Server将获取它,SQL Server:目标内存将增加。如果操作系统请求内存 从 SQL Server 返回,然后返回SQL Server:目标内存通常会 减少,这在某些情况下会导致 SQL Server 内存压力,从而损害 SQL 服务器的性能。

指导值:如果此值较高(相对于总计 计算机上可用的物理内存),那么您应该考虑添加额外的 物理内存,以提高 SQL Server 的性能。

另请检查:

  • SQL Server:总内存:显示动态总量 服务器当前正在使用的内存(缓冲池)。SQL Server:总内存将随着SQL Server需要而增加,假设它可用。此值将 始终小于或等于SQL Server:目标内存。如果SQL Server:与内存量相比,总内存量相对较高 计算机中的物理内存,这可能表示更多的物理内存是 必填。
  • 无缓冲页面:缓冲区中可用的可用空间数 缓存。如果此数字低于 640 页,这可能表示 SQL Server 处于以下 内存压力。
  • 缓冲区页预期寿命:测量平均秒数 页面将保留在缓冲区缓存中而不被访问。如果他的价值下降 低于 300 秒,这可能表示 SQL Server 处于内存压力之下。

可能的解决方案:删除不必要的应用程序和服务 ,并添加更多物理 RAM。

SQL Server:被盗的服务器内存

服务器当前用于数据库分页以外的目的的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - 被盗的服务器 内存 (KB)

解释:被盗内存包括 SQL Server 用于以下目的以外的所有内存 数据库分页,如在 SQL Server 中:缓冲区缓存内存

指导值:这通常是 SQL Server:总内存和 SQL Server:缓冲区缓存之间的区别。被盗内存的急剧增加可能表明 内存密集型进程正在运行。

另请检查:

  • SQL Server:授予工作区内存
  • SQL Server:规划缓存
  • SQL Server:连接内存
  • SQL Server:日志池内存
  • SQL Server:优化器内存

SQL Server:保留的服务器内存

服务器为将来使用而保留的内存量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Reserve Server 内存 (KB)

解释:此指标指示 SQL Server 为将来保留的内存量 按进程使用。

指导值:此指标通常应是服务器使用的总内存的一小部分, 它可能会有很大的波动。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。

SQL Server:优化器内存

服务器当前用于查询优化的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Optimizer 内存 (KB)

解释:此指标是用于查询优化的内存量。

指导值:此指标应是服务器使用的总内存的一小部分。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。

SQL Server:内存授予挂起

指定等待工作区内存授予的进程总数。

等效的 PerfMon 计数器:SQLServer:Memory Manager

解释:这是等待 SQL 的查询计数 为查询执行提供内存的服务器。它表示 服务器可能内存压力大。

指导值:如果值大于 1,则需要在一段时间内进行调查。查询 sys.dm_exec_query_memory_grants DMV来确定未完成内存授予的基础来源。

另请检查:

  • 检查此页上的“SQL Server: 授予工作区内存”和“SQL Server: 最大工作区内存”计数器中的值。
  • 具有高等待的查询。RESOURCE_SEMAPHORE
  • 检查在内存队列中等待的查询:
    具有 aofare 的查询正在等待内存授予。SELECT * FROM sys.dm_exec_query_memory_grants;grant_timeNULL

SQL Server:最大工作区内存

服务器可用于执行排序和索引等进程的最大动态内存量 创造。

等效的 PerfMon 计数器:SQLServer:内存管理器 - 授予工作区 内存 (KB)

解释:此衡量指标指示用于执行进程的最大可用内存。SQL Server:授予的工作区内存不能超过它。

指导值:这通常是SQL Server的75%左右:目标内存

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。
  • SQL Server:授予工作区内存

SQL Server:日志池内存

服务器当前用于日志池的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Log Pool 内存 (KB)

解释:日志池是事务日志的内存中缓存,用于优化操作 例如恢复和回滚。SQL Server:日志池内存指示使用的内存量 在日志池旁。

指导值:此指标应是服务器使用的总内存的一小部分。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。

SQL Server:锁定内存

服务器当前用于锁定的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Lock 内存 (KB)

解释:此指标指示用于存储锁的 SQL Server 内存量。

指导值:此指标应是服务器使用的总内存的一小部分。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。

SQL Server:可用内存

服务器未使用的动态内存总量。

注意:此指标是在 SQL Server 2012 中引入的,用于替换缓冲区可用页面(在 SQL Server 2008 及更早版本中使用)。对于 SQL Server 2008 及更早版本,我们现在已将可用页转换为内存(1 页等于 8 KB)。

等效的 PerfMon 计数器:SQLServer:内存管理器 - 可用内存

解释: 内存管理器监视 SQL Server 的总体内存使用情况。此指标可以帮助您确定是否存在因内存不足(这意味着 SQL Server 必须从磁盘检索数据)而导致的瓶颈。它还可以帮助您确定是否可以通过增加内存量来提高查询性能。

准则值:大于 5 MB 的可用内存值应确保缓冲区缓存可以处理足够的新内存分配请求。小于 5 MB 的值可能意味着请求停止,这可能会影响性能。您可以考虑添加内存或为数据缓存提供更多内存。

SQL Server:动态 SQL 缓存内存

服务器用于动态 SQL 缓存的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - SQL 高速缓存 (KB)

指导值:此计数器没有正确或错误的数字。在许多情况下,值 因为此计数器不会随着时间的推移而发生太大变化,这是您在没有内存压力的服务器上所期望的。

随着时间的推移,此计数器突然下降可能表示实例处于内存压力和 SQL 下 服务器必须回收部分计划缓存以供其他用途。

或者,此计数器的快速增加可能表明大量一次性使用的即席查询可能 已执行,导致计划缓存污染。这通常在 SQL Server 重新启动后不久出现。 如果这是永久性的,请考虑启用“针对临时工作负载进行优化”实例级选项以停止计划 缓存污染。

SQL Server:缓冲缓存

服务器当前用于缓冲区缓存(数据库缓存)的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Database Cache Memory (KB)

解释:mssqlServer 服务的物理内存量 当前正在使用;包括提交到 SQL Server 的缓冲区总数 BPool 和“正在使用的操作系统”类型的缓冲区。

指导值:这通常应该是内存中最大的组成部分 由 SQL Server 使用。如果SQL Server: 缓冲区缓存内存与计算机中的物理内存量相比相对较高,则 可能表示需要更多的物理内存。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。
  • 无缓冲页面:缓冲区中可用的可用空间数 缓存。一般来说,如果这个数字低于 640 页,这可能表明 SQL Server 内存压力。
  • 缓冲区页预期寿命:测量平均秒数 页面将保留在缓冲区缓存中而不被访问。一般而言 如果他的值低于 300 秒,这可能表明 SQL Server 内存不足 压力。

SQL Server:连接内存

服务器当前用于维护活动连接的动态内存总量。

等效的 PerfMon 计数器:SQLServer:Memory Manager - Connection 内存 (KB)

解释:此指标指示活动连接正在使用的内存量。

指导值:此指标应是服务器使用的总内存的一小部分。

另请检查:

  • SQL Server:目标内存:显示最大动态量 SQL Server 准备使用的内存(缓冲池)。此号码不能 超过最大服务器内存设置。当 SQL Server 首次启动时,此值 对应于在 SQL Server 启动时保留的缓冲区。默认内存管理 Microsoft SQL Server Database Engine 的行为是获取尽可能多的内存 因为它需要而不会在系统上造成内存不足。如果 SQL Server 需要 启动后有更多的物理RAM,如果有MB可用,则SQL Server 将抓住它,SQL Server:目标内存将增加。如果 操作系统从SQL Server请求RAM,然后SQL Server:目标内存通常会减少,这在某些情况下会导致SQL Server内存压力, 损害 SQL Server 性能。

锁等待/秒

每秒无法立即满足的锁数,必须 等待资源。

等效的 PerfMon 计数器:SQLServer:Locks - Lock Waits/sec

解释:锁定在 SQL Server 资源上以阻止它们 防止被另一个事务同时使用。例如,如果交易 在一行上持有独占锁,没有其他事务可以对其进行更改 行,直到锁被移除。更少的锁允许更多的并发事务 发生,这可能会提高性能。

指导值:任何大于 0 的值都表示某个级别 的阻塞正在发生。最佳做法是将当前值与 用于确定 SQL Server 正常值的基线。不断增加的锁定等待 时间指示潜在的资源争用。

还要检查平均磁盘队列长度。磁盘排队过多 可能是由磁盘子系统配置不当或大小不足引起的。你可以 想要查看索引并调查并发连接数。

锁超时/秒

超时的每秒锁定数。

等效的 PerfMon 计数器:SQLServer:Locks - Lock Timeouts/sec

解释:锁定在 SQL Server 资源上以阻止它们 防止被另一个事务同时使用。例如,如果事务在一行上持有独占锁,没有其他事务可以对其进行更改,直到锁被移除。更少的锁允许更多的并发事务发生,这可能会提高性能。

SQL Server 中的锁定超时限制取决于使用 SET LOCK_TIMEOUT设置的值 命令。如果未设置任何值,SQL Server 将无限期地等待锁定清除。

指导值:任何大于 0 的值都表示用户 可能遇到未完成的查询问题。

另请检查:锁定等待/秒。这可以识别锁的数量 这没有超时,但必须等待资源。

平均锁等待时间

无法满足的每个锁的平均等待时间(以毫秒为单位) 立即,不得不等待资源。

等效的 PerfMon 计数器:SQLServer:Locks - 平均等待时间 (毫秒)

解释:锁定在 SQL Server 资源上以阻止它们 防止被另一个事务同时使用。例如,如果交易 在一行上持有独占锁,没有其他事务可以对其进行更改 行,直到锁被移除。更少的锁允许更多的并发事务 发生,这可能会提高性能。

指导值:平均等待时间为 500 毫秒或更长时间可能表明 过度阻塞,应进行调查。通常,平均锁定等待时间与锁定等待/秒相关,如果您看到它们都在增加, 您需要调查导致阻塞问题的原因。

另请检查 -Lock 等待/秒以识别随时间推移的峰值,并检查锁定超时/秒以查看有多少锁定达到了使用 设置LOCK_TIMEOUT命令。

闩锁等待时间

闩锁请求之前必须等待的平均等待时间(以毫秒为单位) 正在执行。

等效的 PerfMon 计数器:SQLServer:Latches - Average Latch Wait 时间(毫秒)

解释:将闩锁视为 SQL 使用的轻量级锁 服务器来管理许多内部操作。它们阻止一个 SQL Server 内部 与另一个内部 SQL Server 操作冲突的操作。这个平均值 计算方法是将闩锁等待毫秒数除以闩锁等待数。

监控闩锁等待时间通常有助于识别用户活动和资源 利用率可能是导致性能瓶颈的原因。当前平均值 应与基线平均值进行比较。请注意,没有 等待请求被授予不包括在此值中。

指导值:一般来说,这两者之间存在相关性 公制和闩锁等待/秒。使用 PerfMon 检查闩锁等待/秒值。如果两个值都超过以上 他们的基线平均值,SQL Server 正在经历资源争用 需要进一步调查。

另请检查:动态管理中包含的以下功能 视图 (DMV) 以帮助确定导致闩锁等待问题的活动:

  • sys.dm_os_latch_stats(按类划分的闩锁等待信息)
  • sys.dm_os_wait_stats(有关线程在执行中遇到的等待的详细信息)
  • sys.dm_db_index_operational_stats(I/O、闩锁、锁定和访问的详细信息) 表分区或数据库索引的方法活动)

必须查看每个门锁类别的相对等待次数和时间以了解 SQL Server 实例性能问题。

用户连接

在给定时间与 SQL Server 实例建立的用户连接总数。

等效的 PerfMon 计数器:SQLServer: 一般统计: 用户 连接

解释:此值提供了繁忙程度的一般准则 SQL Server 是。与 SQL Server 实例的每个连接平均需要 28 KB 的内存开销,即使用户当前未使用该连接也是如此。 您可以调整 SQL Server 实例的设置,以便最大数量 允许的用户连接数通过识别数量自动确定 当前登录的用户数。

一般来说,用户连接数之间存在相关性 和批处理请求/秒

注意:用户连接值与用户数不同。单曲 用户可能打开了多个连接,或者多个用户可以共享一个连接。

指导值:随时间推移监视此值很有用 以指示 SQL Server 使用率的增加或减少。工作线程数是根据安装类型和 SQL Server 可用的处理器数动态计算的:

  • 对于 32 位服务器,基本工作线程计数为 256,并且为服务器上初始 4 以上的每个调度程序添加 8 个额外的工作线程((调度程序数 -4)*8)+256。
  • 对于 64 位服务器,基本工作线程计数为 512,并且为服务器上初始 4 以上的每个调度程序添加了 16 个额外的工作线程 ((调度程序数 -4) *16) +512。

有关工作线程计数的详细信息,请参阅配置最大工作线程数服务器配置选项。

注: 如果使用连接池,服务器上的连接数很容易是工作线程数的三倍或四倍。连接是按应用程序域、每个连接字符串、每个服务器池化的,并非每个连接将完全相同地执行。

DataBase指标(存储)

总文件大小

的所有数据文件(.mdf 和 .ndf)和日志文件 (.ldf) 的总大小(以 GB 为单位) 此数据库。

解释:此值是数据文件总数和 日志文件总大小。它对于确定所需的空间量很有用 通过数据库和识别趋势。

指导值:对于最佳实践,MDF、NDF 和 LDF 文件应 主动管理,以防止自动增长启动和增长 您的数据库文件。

注意:如果此指标的值间歇性地下降到零,则最可能的原因是影响 从中收集数据sys.master_files的问题。

另请查看:日志大小以了解 .ldf 文件总数的详细信息和数据 大小,了解总.mdf和 .ndf 文件的详细信息。

已用总日志空间

当前包含日志记录的事务日志文件总大小。

解释:事务日志文件存储所有的详细信息 对 SQL Server 数据库执行的修改。空间量 它占用取决于使用的恢复模式、数据库活动、事务处理的频率 除其他因素外,还会备份日志。

指导值:看到日志空间数字变化是正常的 随着时间的推移,随着事务的记录和日志的删除,大小会很大 执行备份。

总日志大小

此数据库的所有日志文件 (.ldf) 的总大小。

解释:记录在数据库中执行的每个事务 在事务日志中。这允许在数据丢失的情况下进行恢复,因为 上次备份。有关日志文件 (.ldf) 的信息,例如其位置、自动增长 设置和当前大小显示在 SQL Server Management Studio 中的数据库概述页。

指导值:事务日志是数据库修改的串行记录。它们在恢复操作期间用于提交已完成的事务和回滚未完成的事务。日志文件的大小由为数据库设置的恢复模式确定。默认情况下,创建新数据库时,它将使用完整恢复模式(继承自 Model 数据库),在该模式下,只有在执行事务日志备份时才会删除日志文件中的事务。备份事务日志时,备份将存储自上次事务日志备份以来发生的更改,然后截断日志,这将清除已提交或中止的事务。如果不定期备份事务日志,它的大小将无限增长,并可能填满整个磁盘。

注意:如果此指标的值间歇性地下降到零,则最可能的原因是影响 从中收集数据sys.master_files的问题。

另请检查:

  • 事务日志文件应预先分配给您认为它需要的大小 当您的系统处于生产状态时。此大小将取决于 预期的事务,以及备份事务日志的频率。
  • 设置正确的自动增长属性:数据和日志文件的 10% 自动增长(默认值 set) 对于低利用率数据库可能就足够了,但 500 MB 自动增长 速率可能更适合繁忙的数据库,允许随着时间的推移而增长,而无需 常规自动增长操作造成的严重 I/O 影响。即使在简单恢复中 模型,如果写入事务日志的速度足够快,则检查点进程 跟不上,日志文件将触发自动增长。
  • 如果要执行一次性批量插入操作,则可能需要切换 在插入期间大容量记录的恢复模式。
  • 如果不需要对此数据库进行时间点恢复,则可能是合适的 以切换到简单恢复模式。
  • 如果数据库配置了完整或大容量日志恢复模式,则应 定期备份事务日志,以便可以截断它以释放非活动状态 日志空间。截断日志文件会删除非活动虚拟日志文件,但不会 减小文件大小。

使用的数据文件总数

指定数据库的所有数据文件(.mdf 和 .ndf 文件)中的总使用量。

解释:此值是数据库中的总数据使用量,不包括 事务日志。有关单个主数据文件 (.mdf) 和 辅助数据文件 (.ndf),例如其当前大小、位置和自动增长 设置,显示在“数据库概述”的“文件”部分下 页面。

指导值:注意使用量的异常大幅增长 在数据文件中。理想情况下,数据库的大小应最小化 自动增长,因为每次大小增加在 I/O 方面都是昂贵的,并且也会在物理上增加 对数据和日志文件进行分段。

按需增长文件是一个昂贵的过程,并且会影响性能。自动生长 应仅用作安全阀,以便在意外情况下允许数据库增长 空间不足。它不应用于管理 MDF 文件增长。

通常,数据文件应在首次创建时预先调整大小,以满足将来的需求 预期增长,有助于避免文件碎片并确保更好的数据库性能。

注意:如果此指标的值间歇性地下降到零,则最可能的原因是影响

从中收集数据sys.master_files的问题。

另请检查:

  • 完全恢复模式用于所有生产数据库。
  • 使用完整恢复模式时,请确保定期记录完整和事务日志 备份。
  • 这些文件设置为正常活动所需的空间量。监控 数据文件,并随着数据的增长手动添加空间。你应该有6-12个月 数据文件中用于数据增长的空间。
  • 如果没有空间让数据库以当前速度增长,请移动数据库 到更大的磁盘驱动器或升级磁盘本身。

谨慎:缩小文件以减少空间会导致碎片和 不推荐。

总数据文件大小

指定数据库的所有数据文件(.mdf 和 .ndf 文件)的总大小。

解释:此值是数据库的总大小,不包括 事务日志。有关单个主数据文件 (.mdf) 和 辅助数据文件 (.ndf),例如其当前大小、位置和自动增长 设置,显示在“数据库概述”的“文件”部分下 页面。

指导值:注意尺寸的异常大幅增加 的数据文件。理想情况下,数据库的大小应最小化 自动增长,因为每次大小增加在 I/O 方面都是昂贵的,并且也会在物理上增加 对数据和日志文件进行分段。

按需增长文件是一个昂贵的过程,并且会影响性能。自动生长 应仅用作安全阀,以便在意外情况下允许数据库增长 空间不足。它不应用于管理 MDF 文件增长。

通常,数据文件应在首次创建时预先调整大小,以满足将来的需求 预期增长,有助于避免文件碎片并确保更好的数据库性能。

另请检查:

  • 完全恢复模式用于所有生产数据库。
  • 使用完整恢复模式时,请确保定期记录完整和事务日志 备份。
  • 这些文件设置为正常活动所需的空间量。监控 数据文件,并随着数据的增长手动添加空间。你应该有6-12个月 数据文件中用于数据增长的空间。
  • 如果没有空间让数据库以当前速度增长,请移动数据库 到更大的磁盘驱动器或升级磁盘本身。

谨慎:缩小文件以减少空间会导致碎片和 不推荐。

使用的日志空间

当前包含日志记录的总事务日志文件大小的百分比。

解释:事务日志文件存储所有的详细信息 对 SQL Server 数据库执行的修改。空间量 它占用取决于使用的恢复模式、数据库活动、事务处理的频率 除其他因素外,还会备份日志。

指导值:看到日志空间数字变化是正常的 随着时间的推移,随着事务的记录和日志的删除,大小会很大 执行备份。

DataBase指标(性能)

事务/秒

每秒为数据库启动的事务数。每个数据点显示 自上一个数据点以来每秒的平均事务数。

等效的 PerfMon 计数器:SQLServer:Databases - Transactions/sec

解释:事务是一个或多个数据库操作的组合 变成一个单一的操作;被 BEGIN TRAN 包围的用户定义事务 以及提交 TRAN 或单个数据修改语句,例如插入或更新。 事务速率受一般系统性能和资源(如 I/O、用户数、缓存大小和请求复杂性。此计数器记录 仅显式事务或更改数据的事务。

注意:每秒事务数仅衡量事务内的活动,而不是全部 活动,“批处理请求/秒”指标是更完整的图片 所有 SQL Server 活动。

指导值:每秒大量事务不是 必然表明存在问题,只是有很多活动 您的 SQL Server。您应该建立一个基线值并跟踪交易时间 异常高或低。

日志刷新等待/秒

每秒等待从日志缓存中刷新的事务提交数 到磁盘上的物理事务日志文件。

等效的 PerfMon 计数器:SQLServer:Databases - Log Flush Waits/sec

解释:大量日志刷新等待表明 将事务日志缓存刷新到磁盘上的文件所花费的时间比正常时间长, 这会降低SQL Server的性能。

指导值:日志刷新等待应尽可能接近 0。

另请检查:磁盘平均写入时间。如果此值大于 5 毫秒, 则可能会出现 I/O 瓶颈。

可能的解决方案:移动事务日志的位置 (LDF 文件)到与数据文件(MDF 文件)不同的物理驱动器将增加 性能,因为写入日志和数据文件不会争用访问权限 到同一磁盘。还可以考虑使用更快的磁盘驱动器,使用 RAID 10 进行事务处理 日志文件存储,向现有 RAID 阵列添加其他心轴,短行程, 或添加其他磁盘控制器。

日志刷新次数/秒

此数据库每秒的日志刷新次数,自上次收集以来的平均值 时间。

等效的 PerfMon 计数器:SQLServer:Databases - Log Flushes/sec

解释:提交事务时发生日志刷新 数据从日志缓存写入物理事务日志文件。这 日志缓存是内存中的临时位置,SQL Server 在其中存储要写入的数据 到日志文件,用于在提交事务之前回滚事务,如果 必填。事务完成后(并且无法再回滚),则 日志缓存会立即刷新到磁盘上的物理日志文件。

指导值:每秒日志刷新次数通常应相关 每秒的事务数。如果每秒日志刷新次数似乎为 明显高于预期的交易数量,请检查您使用 查询中的显式事务。

显式定义事务的开始和结束(而不是隐式事务, 其中 SQL Server 需要刷新每个数据语句的日志)应该减少 日志刷新次数,并减少对 I/O 的影响。

另请检查:每秒刷新的日志字节数。

刷新的日志字节数/秒

在可用性组概述中显示为日志增长
每秒日志刷新的平均大小。每个数据点显示平均日志 自上一个数据点以来,此数据库每秒刷新的字节数。

等效的 PerfMon 计数器:SQLServer:数据库 - 刷新的日志字节数/秒

解释:此指标有助于评估利用率和识别 事务日志的趋势。从 每次执行事务时,日志缓存到磁盘上的物理事务日志文件 已提交。

在可用性组中,主要副本和次要副本都具有 日志字节刷新速率。在主要副本上,这显示了日志记录的速度 正在添加到日志发送队列中。在辅助数据库上,它显示记录字节数的速度 正在添加到重做队列中。

“可用性组概述”页仅显示为主副本刷新的日志字节数的速率。

指导值:日志刷新的大小因 交易的性质。例如,在 1,000,000 行中插入单个 INSERT 将 导致单个日志刷新,但字节数较多。

在可用性组中,如果日志字节数的速率在 主副本高于发送日志字节的速率,日志发送队列的大小将增加。若要估计故障转移时的潜在数据丢失(在异步提交模式下), 将日志发送队列除以刷新的日志字节数。

如果在辅助副本上刷新的日志字节数的速率高于重做速率,则重做队列的大小将增加。

另请检查

  • 日志刷新次数/秒:每秒刷新到事务日志的日志页数。
  • 日志发送队列:主数据库日志文件中等待发送到辅助副本的日志记录量。
  • 重做队列:需要重做(写入辅助数据库)的日志记录量 用于同步同步提交主要副本和次要副本。

活跃事务

数据库的活动事务数。每个数据点显示数字 收集数据时的活动事务。

等效的 PerfMon 计数器:SQLServer:Databases - Active Transactions

解释:活动事务是 尚未提交或回滚的数据库。

注意:此指标衡量的是事务中的活动,而不是所有活动。“批处理请求/秒”指标是所有 SQL 的更完整图片 服务器活动。

指导值:通常,活动事务的数量 应远低于事务数/秒(因为活动事务仅显示那些尚未完成的事务)。 如果当前处于活动状态的事务数高于“事务/秒”指标,则这可能表示您有长时间运行的事务。长时间运行 事务会增加锁定时间并导致阻塞。

DataBase指标(文件)

使用的文件

指定文件中使用的空间。

解释:此值是数据或日志文件中使用的总空间。 有关单个主数据文件 (.mdf) 和 辅助数据文件 (.ndf),例如其当前大小、位置和自动增长 设置,显示在“数据库概述”的“文件”部分下 页面。

指导值:注意尺寸的异常大幅增加 的数据文件。理想情况下,数据库的大小应最小化 自动增长,因为每次大小增加在 I/O 方面都是昂贵的,并且也会在物理上增加 对数据和日志文件进行分段。

按需增长文件是一个昂贵的过程,并且会影响性能。自动生长 应仅用作安全阀,以便在意外情况下允许数据库增长 空间不足。它不应用于管理 MDF 文件增长。

通常,数据文件应在首次创建时预先调整大小,以满足将来的需求 预期增长,有助于避免文件碎片并确保更好的数据库性能。

文件大小

分配给数据或日志文件的总空间。

解释:此值是数据或日志文件的总分配大小。 有关单个主数据文件 (.mdf) 和 辅助数据文件 (.ndf),例如其当前大小、位置和自动增长 设置,显示在“数据库概述”的“文件”部分下 页面。

指导值:注意尺寸的异常大幅增加 的数据文件。理想情况下,数据库的大小应最小化 自动增长,因为每次大小增加在 I/O 方面都是昂贵的,并且也会在物理上增加 对数据和日志文件进行分段。

按需增长文件是一个昂贵的过程,并且会影响性能。自动生长 应仅用作安全阀,以便在意外情况下允许数据库增长 空间不足。它不应用于管理 MDF 文件增长。

通常,数据文件应在首次创建时预先调整大小,以满足将来的需求 预期增长,有助于避免文件碎片并确保更好的数据库性能。

DataBase指标(性能-文件)

写入字节/秒

每个文件写入磁盘的数据速率。

解释:这是每秒从此数据库中的所有查询写入的总字节数。

另请检查:

  • 磁盘平均读取时间从逻辑磁盘读取操作的平均时间(以毫秒为单位)。
  • 磁盘平均写入时间从逻辑磁盘写入数据的平均时间(以毫秒为单位)。
  • 平均磁盘队列长度测量物理硬盘阵列上的压力。

可能的解决方案:如果此数字太大并且使 IO/子系统过载,则磁盘更多 需要容量

读取字节/秒

每个文件从磁盘读取的数据速率。

解释:这是每秒从磁盘读取的所有查询的总字节数 数据库。

另请检查:

  • 磁盘平均读取时间从逻辑磁盘读取操作的平均时间(以毫秒为单位)。
  • 磁盘平均写入时间从逻辑磁盘写入数据的平均时间(以毫秒为单位)。
  • 平均磁盘队列长度测量物理硬盘阵列上的压力。

可能的解决方案:如果此数字增长大于预期,则需要更多的磁盘 IO 容量或 查询/索引可能需要重写以访问较少的数据

每次写入的停顿数

每次写入的平均停止时间(毫秒)。

解释:这是写入的平均停止时间,计算为用户的总时间 (ms) 等待写入完成除以为文件发出的写入次数。

指导值:高水平的停顿(对于您的系统,基于基线值)表明 IO 子系统对负载的响应速度不够快。

另请检查:

  • 磁盘平均读取时间从逻辑磁盘读取操作的平均时间(以毫秒为单位)。
  • 磁盘平均写入时间从逻辑磁盘写入数据的平均时间(以毫秒为单位)。
  • 平均磁盘队列长度测量物理硬盘阵列上的压力。

可能的解决方案:可能存在 IO 系统配置错误、查询编写不当或 磁盘暂时过载。检查磁盘配置和整体性能、重写查询或重新访问 此计数器用于确定这是否是长期问题。

每次读取的停顿数

每次读取的平均停顿时间(毫秒)。

解释:这是读取的平均停止时间,计算为用户的总时间 等待读取次数除以为文件发出的读取次数。

指导值:高水平的停顿(对于您的系统,基于基线值)表明 IO 子系统对负载的响应速度不够快。

另请检查:

  • 磁盘平均读取时间从逻辑磁盘读取操作的平均时间(以毫秒为单位)。
  • 磁盘平均写入时间从逻辑磁盘写入数据的平均时间(以毫秒为单位)。
  • 平均磁盘队列长度测量物理硬盘阵列上的压力。

可能的解决方案:可能存在 IO 系统配置错误、查询编写不当或 磁盘暂时过载。检查磁盘配置和整体性能、重写查询或重新访问 此计数器用于确定这是否是长期问题。

缓存管理

页面读取/秒

测量每秒发出的物理数据库页读取数。

等效的 PerfMon 计数器:SQLServer:缓冲区管理器 - 页读取/秒

解释:必须先将数据加载到内存中未使用的页中,然后 SQL Server 才能使用它。 如果未缓存数据,则必须从物理存储中读取数据(这比 访问缓存)。

如果与基线相比,SQL Server 提高了必须从物理存储读取页面的频率,则可能表示存在问题。

可能的修复包括:

  • 增加可用于 SQL Server 的内存
  • 使用智能索引总共读取更少的数据
  • 使用更高效的查询来读取更少的数据

缓冲区页预期寿命

指示页面在缓冲池中停留的平均秒数,没有 被引用。

等效的 PerfMon 计数器:SQLServer: 缓冲区管理器 - 页面生活 期望

解释:数据缓存在缓冲池中,以便可以 检索速度比从磁盘检索要快得多。但是,一旦数据页 已存储在缓冲池中,它们可能会也可能不会被重复使用。如果页面是 在给定时间后未引用,该页面将从 缓冲池,以便其他数据可以使用空间。缓冲页的预期寿命长 指示缓冲区页经常被重用,这反过来又表明 SQL Server 不受任何内存压力。

指导值:此值取决于服务器上安装的 RAM 量。最佳做法是记录基线测量值,您可以根据该测量值比较一段时间内的监视值。为此,请运行公式 (DataCacheSizeInGB/4GB*300),如查找计划缓存中的哪些查询使用特定索引中所述。有关如何查找数据缓存大小的详细信息,请参阅缓冲池内存浪费带来的性能问题。

如果数据页在缓冲区中的保留时间始终小于基线值, 这可能表示系统上内存不足或内存不足 内存配置为供 SQL Server 使用。您可以考虑提高性能 通过添加内存。问题也可能是由于缺少索引、索引设计不佳引起的 或应用程序代码编写不当,例如重新编译的存储过程过多, 或当只有少量行时读取缓冲池中的大型表的查询 需要改变。解决特定于应用程序的问题可能会提高性能。

FreeListStallsPerSec

测量每秒停止等待可用缓冲区可用的请求数。

等效的 PerfMon 计数器:SQLServer: Buffer Manager - 免费列表摊位/秒

解释:必须先将数据加载到内存中未使用的页中,然后 SQL Server 才能使用它。 如果没有可用的页面,SQL Server 必须等到页面可用于数据。这可能表明 没有足够的内存可用于 SQL Server。

指导值:频繁高于 0 的值可能表示内存压力。

如果SQL Server一直在等待可用内存来获取新页面,则可以通过以下方式解决:

  • 增加可用于 SQL Server 的内存
  • 优化查询以请求更少的数据

访问方式

页面拆分/秒

每秒 SQL Server 表中的页拆分数和新页分配数。

等效的 PerfMon 计数器:SQLServer:Access Methods: Page Splits/sec

解释:在现有数据中插入新数据或向现有数据添加新数据时 页面,并且该页面没有足够的空间容纳所有新数据,SQL Server 拆分页面,将一半的数据留在旧页面上,并将另一个数据放在 一半在新页面上。这是一个正常的 SQL Server 事件,但页面拆分过多 可能导致索引碎片和各种相关的性能问题。

指导值:最佳做法是记录基线 您可以比较您的监控值。一般而言,此值应 不大于批处理请求数/秒的 20%。一个 低值是可取的,但低值的构成取决于变量的数量 包括用户数量、用户活动级别和 I/O 子系统在内的因素 性能能力。

另请检查:磁盘平均读取时间和磁盘平均写入时间。 过多的 I/O 活动与过多的页面拆分之间通常存在相关性。

可能的解决方案:解决页面拆分问题通常是 困难,因为原始数据库设计可能会导致问题。此外 重新考虑数据库设计,也考虑重新评估索引策略, 也许会增加受过多页面影响的索引的填充因子 分裂。如果无法有效消除过多的页面拆分,请考虑 按顺序增加重建或重新组织索引的频率 以删除由页面拆分创建的碎片。

页面拆分/批处理请求

SQL Server 表中每秒的分页数除以数 每秒收到的 T-SQL 命令批处理请求数。

Equivalent PerfMon 计数器:(SQLServer:Access Methods: Page Splits/sec) / (SQLServer:SQL Statistics - Batch Requests/sec)

解释:虽然页面拆分是正常的 SQL Server 函数, 过多的页面拆分可能会对 SQL Server 性能产生负面影响。

指导值:平均而言,每批的页面拆分数 请求应低于每秒批处理请求数的 20%,但理想情况下 尽可能接近 0。

另请检查:索引中表的填充因子。下部 填充因子,空间越大,这有助于减少潜在的页面拆分。欲了解更多信息 有关填充因子的信息,请参阅MSDN 文档。

全扫描/秒

测量每秒发生的基表或全索引扫描次数。

等效的 PerfMon 计数器:SQLServer:Access Methods: Full Scans/sec

解释:此值监视执行的完全扫描数 在表或索引上。虽然索引扫描是 SQL Server 工作方式的正常部分, 大量完整扫描可能指示缺少索引,访问许多小表, 或返回大量行的查询。

指导值:最佳做法是记录基线测量值 您可以与之比较监控值。如果监控值显著 与基线相比更高,CPU 也很高,这可能表明性能 瓶颈。索引搜索/秒与完全扫描/秒的比率应 一般不超过1000:1。

另请检查:计算机:处理器时间以确定 CPU 是否 也高。另请查看针对基线的批处理请求/秒 度量,以了解数据库处理查询的能力的详细信息。您可以 ,然后检查“锁定等待/秒”和“锁定超时/秒”以确定锁定问题是否影响性能。

操作系统指标(进程)

进程:处理器时间

在主机 Windows 计算机上运行的单个进程的处理器利用率 (%)。

等效的 PerfMon 计数器:进程:处理器时间百分比

解释:此值告诉您处理器的百分比 特定活动进程的所有线程都在使用时间。它使它更容易 确定进程是否在 延长的时间段。

注意:在多处理器计算机上,单个进程可能使用多个等效进程 一个处理器上的 100% 处理器时间。这是因为它的线程可能正在使用 多个处理器。

指导值:如果单个进程的值要高得多 与其他人相比,这个过程可能会消耗得令人无法接受 处理器时间比例高,可能会导致瓶颈。你可能会想到 将进程移动到其他服务器,或替换 上运行的应用程序 这个过程。

另请检查:计算机:处理器时间和平均 CPU 队列长度。 如果这些值很高,则隔离那些消耗过多的进程 资源可能有助于验证瓶颈的存在并确定原因。

进程:使用的内存

显示单个进程使用的物理内存量(以字节为单位) 服务器。

等效的 PerfMon 计数器:进程:专用字节

解释:此值是当前内存大小 已分配的选定单个流程实例只能由 进程内运行的线程。

注意:如果您为 32 位实例启用了 AWE,或者您使用的是 64 位 SQL 在启用锁定页的情况下运行,缓冲池内存包含在此 价值。如果您使用的是不带 AWE 的 32 位实例,或者禁用了锁定页的 64 位实例,则缓冲池和非缓冲池内存都是 不包括在内。

指导值:如果单个进程的值一致 长时间较长,服务器端对象中可能存在系统内存泄漏。

另请检查:PerfMon 专用字节 - 要检查的_Total计数器 分配给所有实例的字节数。这可能有助于确定是否 单个实例使用的内存量异常大,相比之下 所有进程使用的内存总量。

机器:处理器时间

报告的总处理器利用率(所有处理器内核的平均值) 视窗机器。

等效的 PerfMon 计数器:处理器:处理器时间百分比 (_Total)

解释:这是您所有忙程度的一般指标 处理器是。每个数据点表示所有处理器的平均非空闲时间 自上一个数据点以来的内核;每个处理器的平均利用率合计 然后除以计算机上的处理器数量。机器:处理器 每15 秒收集并平均一次时间。

指导值:理想情况下,计算机:处理器时间应平均小于 50%,以获得最佳 SQL Server 性能。如果机器:处理器 持续时间(五分钟或更长时间)的平均时间超过80%, 则在此期间存在 CPU 瓶颈,您应该调查其原因。 请记住,机器中的短峰值:处理器时间高于 80% 是正常和预期的,只有持续的高 CPU 利用率才是问题。 如果峰值表示平台期,而不是尖峰,则可能表示运行缓慢 查询导致 CPU 问题。

注意:在虚拟环境中运行时,计算机:处理器时间无关紧要,因为它无法准确测量 CPU 活动 虚拟机。请改用 Hyper-V 逻辑处理器性能计数器。

另请检查:

  • SQL Server 处理器时间:在大多数专用的 SQL Server 计算机中,有 是机器:处理器时间和SQL之间的高度相关性 服务器:处理器时间。如果 Machine: 处理器时间远高于SQL Server: 处理器时间,则某些进程, 除了 SQL Server 导致高 CPU 利用率,此过程应该 接受调查。
  • 平均 CPU 队列长度:这将测量 处理器队列。即使在具有以下特征的计算机上,处理器时间也只有一个队列 多个内核。如果计算机有多个处理器核心,则 SQL 监视器将 此值由为工作负载提供服务的处理器内核数表示。一个持续的 每个处理器少于 10 个线程的处理器队列通常是可以接受的,取决于 的工作负载。每个处理器超过 10 个线程的数字表示潜在 CPU 瓶颈。

可能的解决方案:假设机器:处理器时间是由于SQL Server进程,降低CPU利用率可以实现很多 不同的方式,包括重写写得不好的查询,减少查询计划 重新编译、优化查询并行性以及避免使用客户端游标。 如果纠正上述问题不能解决 CPU 瓶颈,请考虑升级到 更快的处理器或增加处理器的数量。

如果计算机:处理器时间较长,并且SQL Server: 处理器时间相关性不高,则识别非 SQL 服务器进程导致过多的 CPU 活动并更正它。

更多信息

在 Hyper-V 环境中运行 SQL Server 2008

Windows Server 2008 的性能调整指南

故障 排除 SQL Server 2008 中的性能问题

平均 CPU 队列长度

测量处理器队列中等待执行的线程数。这 队列包含已准备好运行但无法运行的线程,因为所有处理器 内核繁忙。

等效的 PerfMon 计数器:系统:处理器队列长度(除以) 按处理器内核数)

解释:即使在计算机上,也只有一个进程队列 具有多个内核。因此,如果计算机具有多个处理器内核,则 SQL 监视器自动将处理器队列长度除以处理器数 为工作负载提供服务的核心,以确定平均处理器队列长度。

指导值:数字越低越好,但平均数 处理器队列长度小于 10 通常是可以接受的,具体取决于 工作量。每个处理器超过 10 个线程的数字表示 CPU 瓶颈。 平均处理器队列长度偶尔出现超过 10 的峰值是正常的,但是 只有平均处理器队列长度的持续峰值是一个问题。

另请检查:计算机:主机的处理器时间。如果 平均进程队列长度通常大于 10,并且计算机:处理器 时间经常超过 80%,则您的计算机存在 CPU 瓶颈。

可能的解决方案:如果确认 CPU 瓶颈,则减少 可以通过许多不同的方式实现 CPU 利用率,包括重写 编写不佳的查询,减少查询计划重新编译,优化查询并行性, 并避免使用客户端游标。如果更正上述问题无法解决 CPU 瓶颈,请考虑升级到更快的处理器或增加数量 的处理器。如果计算机:处理器时间较高,并且SQL Server: 处理器时间不高度相关,则标识 导致过多 CPU 活动的非 SQL Server 进程并更正它。

更多信息

故障 排除 SQL Server 2008 中的性能问题

操作系统指标(网络)

网络利用率

总带宽使用量的百分比,以帮助确定网络适配器是否 处于饱和点。

等效性能计数器:8 *((网络接口:接收的字节数/秒) +(网络接口:发送的字节数/秒))/(网络接口:当前带宽) *100

解释:指示正在使用的带宽总量 在网卡连接到的连接上。确定 当网络空闲、正常或繁忙时。注意:这不衡量金额 发送到服务器和从服务器发送的带宽。该值的计算方法是将 通过网络每秒发送和接收字节的速率 适配器,然后将它们转换为位。然后将该值与电流进行比较 用于计算网络利用率的网络适配器上的带宽。

指导值:当存在单个时,此值最有用 没有其他网络流量的主机上的 SQL Server 实例。理想百分比 值取决于您使用的网络连接类型,因此基线应 设置可以衡量效率的依据。平均而言,超过50%的网络 利用率很高,超过 80% 的网络利用率非常高。为了获得最佳效果 性能,您应该具有与正在运行的专用交换机端口的网络连接 全双工。

另请检查:在繁忙时段,进一步调查 当时正在运行的网络相关进程可能会显示哪些进程正在放置 网络带宽负载巨大。为此,请打开 Windows 任务管理器并 从“性能”选项卡中选择“资源监视器”。

可能的解决方案:关闭网卡上的省电模式, 手动设置网卡的速度和双工,而不是设置它 自动为您,使用更快的网卡,添加额外的网卡。

操作系统指标(内存)

机器:使用的内存

显示服务器上使用的物理内存量(以字节为单位)。

Equivalent PerfMon counter(WMI: Win32_ComputerSystem.TotalPhysicalMemory) - (内存:可用字节)

解释:这是当前内存的总字节数 由所有进程使用。如果服务器上的应用程序运行缓慢,并且数据 访问速度也很慢,您可能需要检查此指标的值。

指导值:较高的值可能表示计算机内存不足 或指示计算机或应用程序未释放内存。最佳 值取决于计算机具有的物理内存量。例如,在 6 GB 上 机器,您可以为您的操作系统留出 2 GB 并分配剩余的 RAM 到您的 SQL Server。

另请检查:内存页数/秒。这指示内存是否不足 可能是由分页过多引起的。

内存页数/秒

测量从磁盘读取页面或将页面写入磁盘以解析页面的速率 故障。

等效的 PerfMon 计数器:内存:页/秒

解释:这是内存页输入/秒的总和和 内存页数输出/秒它突出显示从中检索的页数 磁盘由于硬页错误,或被写入磁盘以释放工作空间 由于页面错误而设置。

指导值:内存页/秒的极端变化非常常见,尤其是在备份、还原、导入、 或执行导出。如果内存页/秒超过 1000,并且 如果可用字节数始终小于 100 MB,则此 是内存压力的强烈指示。

另请检查:计算机:使用的内存和 PerfMon 计数器进程:用于计算当前未提供给 SQL Server 的物理 RAM 量的工作集 被其他进程使用。如果可用字节数小于 100 MB 和内存页/秒较高,服务器处于严重状态 内存压力。

可能的解决方案:删除不必要的应用程序和服务 从您的服务器添加更多物理 RAM。

操作系统指标(磁盘)

磁盘写入字节/秒

测量每秒在逻辑磁盘上写入的字节数。

更多信息

分析存储性能

磁盘传输/秒

测量每秒在 逻辑磁盘。

等效的 PerfMon 计数器:逻辑磁盘:磁盘传输/秒

解释:此指标有助于确定数字 逻辑磁盘上发生的 IOPS(每秒 IO 数),以及是否 您的 SQL Server 应用程序正在创建更多可由磁盘处理的 I/O 子系统。

指导值:磁盘传输/秒不应超过 磁盘子系统的 IOPS 容量,否则会出现 I/O 瓶颈。

另请检查:磁盘平均读取时间和磁盘平均写入时间。 如果这些指标不在建议的阈值内,则很可能 您的磁盘子系统没有跟上 当前应用程序工作负载。

可能的解决方案:你应该做的第一件事是确定 磁盘系统的 IOPS 容量。一旦你知道它是什么,那么你就会 能够知道您是否需要执行任何操作来帮助提高 IOPS 容量 的磁盘子系统,例如调整查询以减少用于执行的资源 他们,使用更快的磁盘驱动器,使用 RAID 10,在 RAID 阵列中使用更多心轴, 使用更快的控制器,使用多个控制器,使用短行程,避免使用 数据文件在阵列上与其他应用程序共享的 SAN。中密度纤维板和 NDF 文件应始终与 LDF 文件隔离。理想情况下,每个 LDF 文件都应该 在自己的阵列上以获得最佳性能。

更多信息

分析存储性能

磁盘读取字节/秒

测量逻辑磁盘上每秒读取的字节数。

更多信息

分析存储性能

解释:这是通过读取操作从磁盘传输的字节数。

指导值:此值(磁盘写入字节/秒)应低于磁盘容量。

使用的磁盘(%)

每个磁盘使用的空间量占可用磁盘空间的百分比。

解释:此信息允许您监视存储量 正在使用空间以及每个磁盘上的可用空间量。评估很重要 系统磁盘空间是否充足,以避免程序因系统故障而失败 无法分配空间,并防止对页面归档增长的限制 以支持虚拟内存。

指导值:您需要确保的磁盘容量 您的系统磁盘是否得到充分支持可以按如下方式计算:

  1. 为操作系统留出 1 GB。
  2. 添加所有应用程序的大小。
  3. 为分页文件添加至少两倍的系统内存大小。
  4. 将每个用户的磁盘空间估计值乘以用户数相加。
  5. 乘以至少 130% 以考虑扩展空间。

作为一般规则,如果使用的磁盘空间为容量的 80% 或更大,您可以考虑运行 磁盘清理工具,压缩或对磁盘进行碎片整理,传输某些 文件到其他磁盘或使用远程存储。

使用的磁盘(GB)

每个磁盘使用的空间量(以 GB 为单位)。

等效性能计数器:((逻辑磁盘分母:可用空间百分比)- (逻辑磁盘:可用兆字节))

解释:此信息允许您监视存储量 正在使用空间以及每个磁盘上的可用空间量。评估很重要 系统磁盘空间是否充足,以避免程序因系统故障而失败 无法分配空间,并防止对页面归档增长的限制 以支持虚拟内存。

指导值:您需要确保的磁盘容量 您的系统磁盘是否得到充分支持可以按如下方式计算:

  1. 为操作系统留出 1 GB。
  2. 添加所有应用程序的大小。
  3. 为分页文件添加至少两倍的系统内存大小。
  4. 将每个用户的磁盘空间估计值乘以用户数相加。
  5. 乘以至少 130% 以考虑扩展空间。

作为一般规则,如果使用的磁盘空间为容量的 80% 或更大,您可以考虑运行 磁盘清理工具,压缩或对磁盘进行碎片整理,传输某些 文件到其他磁盘或使用远程存储。

磁盘可用

每个磁盘上可用的可用磁盘空间量(以 GB 为单位)。

解释:此信息允许您监视存储量 正在使用空间以及每个磁盘上的可用空间量。评估很重要 系统磁盘空间是否充足,以避免程序因系统故障而失败 无法分配空间,并防止对页面归档增长的限制 以支持虚拟内存。

指导值:您需要确保的磁盘容量 您的系统磁盘是否得到充分支持可以按如下方式计算:

  1. 为操作系统留出 1 GB。
  2. 添加所有应用程序的大小。
  3. 为分页文件添加至少两倍的系统内存大小。
  4. 将每个用户的磁盘空间估计值乘以用户数相加。
  5. 乘以至少 130% 以考虑扩展空间。

作为一般规则,如果使用的磁盘空间为容量的 80% 或更大,您可以考虑运行 磁盘清理工具,压缩或对磁盘进行碎片整理,传输某些 文件到其他磁盘或使用远程存储。

磁盘平均写入时间

从逻辑磁盘写入数据的平均时间(以毫秒为单位)。

等效的 PerfMon 计数器:逻辑磁盘:平均磁盘秒/写入

解释:测量逻辑磁盘延迟(磁盘响应速度) 当数据写入其中时。延迟越低,I/O 性能越快, 反之亦然。此指标和磁盘平均读取/秒指标是 I/O 瓶颈的两个最重要的指标。

指导值:对于具有 MDF 和 NDF 文件以及 OLTP 负载的驱动器,平均写入延迟理想情况下应低于 20 毫秒。对于具有 OLAP 负载的驱动器,最多 30 毫秒的延迟被认为是可以接受的。对于包含 LDF 文件的驱动器,理想情况下,延迟应为 5 毫秒或更短。通常,任何超过 50 毫秒的内容都很慢,并且表明存在潜在的严重 I/O 瓶颈。写入延迟会随着时间的推移而有很大差异,因此这些指导数字忽略了偶尔的峰值。

另请检查:磁盘平均读取时间。这些值应对应于 上述准则。

可能的解决方案:优化查询以减少用于 执行它们,使用更快的磁盘驱动器,使用 RAID 10,在 RAID 中使用更多心轴 阵列,使用更快的控制器,使用多个控制器,使用短行程,避免 使用 SAN,其中您的数据文件在阵列上与其他应用程序共享。.MDF NDF 文件应始终与 LDF 文件隔离。理想情况下,每个 LDF 文件都应该 在自己的阵列上以获得最佳性能。

平均磁盘队列长度

测量物理硬盘阵列上的压力。

等效的 PerfMon 计数器:逻辑磁盘:平均磁盘队列长度

解释:这是物理读写的平均次数 排队等待物理磁盘的请求。

指导值:由于虚拟化等技术的变化, 磁盘和控制器技术、SAN 等等,此计数器不再是一个好计数器 I/O 瓶颈指示器。衡量 I/O 瓶颈的更好方法是平均磁盘 读取时间和平均磁盘写入时间

另请检查:磁盘平均读取时间和磁盘平均写入时间

磁盘平均读取时间

从逻辑磁盘读取操作的平均时间(以毫秒为单位)。

等效的 PerfMon 计数器:逻辑磁盘:平均磁盘秒/读取

解释:测量逻辑磁盘延迟(磁盘响应速度) 从中读取数据时。延迟越低,I/O 性能越快, 反之亦然。此衡量指标和磁盘平均写入时间衡量指标, 是 I/O 瓶颈的两个最重要的指标。

指导值:对于具有 MDF 和 NDF 文件以及 OLTP 负载的驱动器,平均读取延迟理想情况下应低于 20 毫秒。对于具有 OLAP 负载的驱动器,最多 30 毫秒的延迟被认为是可以接受的。对于包含 LDF 文件的驱动器,理想情况下,延迟应为 5 毫秒或更短。通常,任何超过 50 毫秒的内容都很慢,并且表明存在潜在的严重 I/O 瓶颈。写入延迟会随着时间的推移而有很大差异,因此这些指导数字忽略了偶尔的峰值。

另请检查:磁盘平均写入时间。这些值应相对应 符合上述准则。

可能的解决方案:优化查询以减少用于 执行它们,使用更快的磁盘驱动器,使用 RAID 10,在 RAID 中使用更多心轴 阵列,使用更快的控制器,使用多个控制器,使用短行程,避免 使用 SAN,其中您的数据文件在阵列上与其他应用程序共享。.MDF NDF 文件应始终与 LDF 文件隔离。理想情况下,每个 LDF 文件都应该 在自己的阵列上以获得最佳性能。

SQL Server2008 + 优化指标(单机或集群服务器)相关推荐

  1. Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档

    Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档 一.Debezium概述 二.SQL Server 连接器的工作原理 1.Snapshot ...

  2. 需要单机还是集群部署_5000W如何玩转Filecoin市场 部署最符合企业的集群模式

    5000W如何玩转Filecoin市场 部署最符合企业的集群模式 对 Filecoin集群的研究,其实一直以来都没有停止过. 如果我们将 Filecoin挖矿比作建高楼大厦.那么,集群就像打地基,地基 ...

  3. Zookeeper单机伪集群

    Zookeeper单机伪集群 1.配置 zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/ 可以选择需要的版本,我下载的是 ...

  4. 【运维技术】Zookeeper单机以及集群搭建教程

    Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...

  5. Java后端架构开荒实战(二)——单机到集群

    Java后端架构开荒实战(二)--单机到集群 一.前言 上一篇文章做了一些准备工作,这边文章正式开始写代码. 在做好单实例架构之后,升级到集群是一件很容易的事情,所以把单机和集群放在这一篇一起说. 二 ...

  6. Kafka单机、集群模式安装详解(二)

    本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 接上篇 Kafka单机.集群模式安装详解(一) 6. ...

  7. centos7 kafka2.3.1单机伪集群部署

    接上篇文章centos7 zookeeper单点部署,准备好相应的包 cp config/server.properties config/server0.properties vi config/s ...

  8. centos7 zookeeper3.5.6单机伪集群部署

    接上篇文章centos7 zookeeper单点部署准备好zookeeper包,进行集群部署 单机伪集群部署 zookeeper1 zookeeper2 zookeeper3 三个目录分别部署一个服务 ...

  9. SpringBoot整合Redis(单机/哨兵/集群)

    pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// ...

最新文章

  1. ubuntu chm文档阅读器
  2. 转载--httpclient原理和应用
  3. 【SPOJ】Count On A Tree II(树上莫队)
  4. Redis 哨兵模式 带密码单机
  5. 51单片机c语言应用开发三位一体实战精讲 pdf 119网盘,51单片机C语言应用开发三位一体实战精讲.pdf...
  6. KandQ:那年,那树,那些知识点
  7. my Note debug - select one Opportunity from dialog list
  8. 联想e52进入bios_联想笔记本怎么设置u盘启动|联想笔记本bios设置usb启动步骤
  9. Android 代码实现查看SQLite数据库中的表
  10. 新视角:用图像分类来建模文字识别也可以SOTA
  11. Spring IOC学习心得之IOC容器的初始化过程
  12. 编写一个文件目录常用操作的类
  13. LINUX 邮件服务器qmail 架设
  14. linux 防火墙 qt udp,使用Qt实现简单的udp/ip通信
  15. java删除文件夹分享企,java删除文件夹下所有文件示例分享
  16. 唐宇迪 python 的免费课程 分享
  17. 信号能量、功率、功率谱密度、自相关函数公式总结
  18. 前端开发程序员的月薪到底有多高?
  19. Python 数独求解
  20. 已解决-改变macOS和Windows双系统的默认启动顺序

热门文章

  1. maven 配置下载jar、源码等先走私服,找不到再走阿里云镜像
  2. 建筑工程质量竣工资料软件
  3. Hutool工具类和工具方法
  4. 神经网络-多层前馈神经网络
  5. 光伏窗性能研究(1)——光伏窗介绍
  6. 数据包络分析法(DEA)在数学建模中的应用
  7. 什么是Redis持久化
  8. [STM32F1]基于STM32F103实现TM1640点亮16位共阴极数码管,显示“0~F”数字
  9. jquery京东新版左侧下拉分类导航菜单代码
  10. CeTx解决pdf书签乱码问题