Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 监控和提高数据库性能 » 提高数据库性能 » 使用诊断跟踪进行高级应用程序分析

 

检测何时硬件资源成为一个限制因素

随着数据库承受越来越多的负载,性能通常受到 CPU 周期、内存空间或磁盘 I/O 带宽的限制。应用程序或数据库服务器效率低下可能是性能降低的原因。如果无法检测到效率低下问题,可能需要增加额外的硬件资源。要查看常见效率低下问题的列表以及解决这些问题的建议,请参见解决性能问题

增加资源可能无法解决可伸缩性问题或提高计算机性能。例如,如果数据库服务器已经完全占用所有分配的 CPU,这可能表明需要分配更多的 CPU 资源。但是,将可用于数据库服务器的 CPU 的数量加倍,不一定表示数据库服务器可执行的工作量会加倍。

可以使用 [应用程序分析详细信息] 区域的 [统计] 选项卡检测硬件资源是否为性能的一个限制因素。

  • 检测 CPU 是否为限制因素   要检测 CPU 是否为限制因素,请检查 ProcessCPU 统计信息。如果图表中未出现此统计信息,则单击 [添加统计信息] 按钮并选择 [ProcessCPU]。如果图表中出现以接近每 CPU(指派给数据库服务器)每秒 1 点的速率增加的 ProcessCPU,则 CPU 是一个限制因素。例如,对于在两个 CPU 上运行的数据库服务器,如果 Process CPU 计数器在十秒之内从 2220 增长到 2237,这表明这十秒期间 CPU 的使用率为 (2237-2220) / 10s * 100 % = 170%,也就是说每个 CPU 以其容量的 170% / 2 = 85% 运行。

  • 检测内存是否为限制因素   要检测内存(缓冲池的大小)是否为限制因素,请检查 CacheHits 和 CacheReads 数据库统计信息。如果图表中未出现这些统计信息,则单击 [添加统计信息] 按钮并选择 [CacheHits] 和 [CacheReads]。如果 CacheHits 小于 CacheReads 的 10%,这说明缓冲池太小。如果比率在 10-70% 之间,这可能说明缓冲池太小—您应当尝试增加数据库服务器的高速缓存大小。如果比率高于 70%,则高速缓存大小可能适当。注意,此策略仅适用于数据库服务器在稳定状态下运行—即,它正在处理标准负载且不是刚刚启动。

  • 检测 I/O 带宽是否为限制因素   要检测 I/O 带宽是否为限制因素,请检查 CurrIO 数据库统计信息。如果图表中未出现此统计信息,则单击 [添加统计信息] 按钮并选择 [CurrIO]。寻找此统计信息的最大持续值。例如,在图表中寻找高平稳段;它越宽影响就越显著。如果该图表包含一些持续值,它们等于或大于 3 加上数据库服务器使用的物理磁盘数目的和,则可能说明磁盘系统无法跟上数据库服务器活动的级别。

另请参见