| %
of total”报告已经在I/O中的缓冲区占进入清洗区总数的百分比。
3.“buffers washed dirty”报告缓冲区进入已脏的清洗区且不在I/O中的次数。缓冲区在高速缓存中时已修改且未写入磁盘。异步I/O通过清洗标记时已在页中启动。
Cache strategy (缓存策略。报告遵循“读取和放弃“-MRU和常规”最近最少使用”-LRU策略的情况下放置在高速缓存中的缓冲区数目)
Cache(LRU) buffers (报告使用LRU并放置在高速缓存的MRU端的缓冲区数量。包括直接在磁盘读取并放置在MRU端的所有缓冲区以及在高速缓存中找到的所有缓冲区。逻辑I/O完成时将缓冲区放置在高速缓存的MRU端)
Discared(MRU) buffers
(报告使用读取和放弃此略的情况下放置在清洗标记区处的缓冲区数量)
如果希望整张表进行高速缓存,但“discared
buffers”的值很高,可使用showplan观察优化程序是否在应该使用LRU时却生成MRU策略。
Large I/O usage (大I/O使用)
Large I/Os performed
(衡量执行的请求的大I/O次数)
Large I/Os denied (报告大I/O不能执行的次数。大I/O不能执行的情况:
1.
如果缓冲区中任何页已经驻留在其它池中。
2.
请求的池中没有可用的缓冲区可用。
3.
在分配单元的第一个扩充页上,因为其包含分配页,该页被始终读入2K池中。
如果大I/O被拒的比例很高,说明大I/O没有获得预期的效果。如果高速缓存包含大I/O池,且查询对相同的对象执行2K和16K的I/O,则总会有一定比例的大I/O不能执行,因为页在2K池中。
如果被拒的大I/O超过半数,且在使用16K,应尝试将所有空间从16K的池中移动到8K池中。重新测试察看I/O总数是否减少。当16K
I/O被拒绝是并不检查8K和4K池,但使用2K池。
可使用这个部分和”Pool turnover”帮助判断正确的池大小。)
Large I/O detail (大I/O详情。例如:查询执行一个16K的I/O并读取整个单个资料页,则“pages
cache”为8,“pages used”为1)
Pages by LRG I/O
cached (读入高速缓存的页总数)
Pages by LRG I/O
used (在高速缓存中时由查询使用的页数)
Dirty read behavior (在隔离级别0时请求的平均页数。“dirty read page request”的”%
of total”报告脏读数相对于页读总次数的百分比)
Procedure cache management (过程高速缓存管理)
Procedure requests
(报告存储过程执行的次数。包括
1.
内存中存在查询计划空闲副本,因此可复制和使用。
2.
内存中无过程副本,或内存中计划的所有副本都在用,因此必须从磁盘读取。)
procedure reads
from disk (存储过程从磁盘读取的次数而不是在过程高速缓存中找到和复制的次数)
procedure writes
to disk (报告采样期间创建的过程数量,如果应用程序生成过程此值会很大。)
procedure
removals (报告高速缓存中老化的次数。)
Recovery management (显示常规检查点进程引起的检查点数量,由管家任务启动的检查点数量和每个类型的时间平均长度。此信息有助于正确设定恢复参数和管家参数。)
Checkpoints (检查点将脏页写入到数据库设备中,ASE的常规检查点机制运行以保持最小恢复间隔。通过从执行最后的检查点开始跟踪事务日志中的日志纪录数,可估计出恢复事务需要的时间是否超出恢复间隔。如果这样,检查点进程扫描所有数据高速缓存并写出所有已更改的数据页。
ASE没有要处理的用户任务时,管家任务开始将脏缓冲区写入磁盘。这些写操作在服务器空闲周期内执行,所以称之为“free
writes”。他提高CPU利用率并降低了事务处理中清洗缓冲区的要求。
如果管家进程完成了将所有脏页写入磁盘的操作,则检查点事务日志中起始于最后检查点的行数。如果日志纪录超过100行,则发出一个检查点,称之为“free
checkpoints”。因此它只需要很小的开销。另外也减少了常规检查点未来的开销。)
Normal of free
checkpoints (报告常规检查点进程执行的检查点数量。如果常规检查点执行大多数工作,特别是如果要很长时间,可考虑增加由管家任务执行的写操作次数。)
Number of free
checkpoints (报告由管家任务执行的检查点数量。管家任务仅在完成从所有配置的高速缓存中清除所有脏页后才执行检查点。可用”housekeeper
free write percent”参数配置最大百分比,如此管家任务可增加数据库的写操作。)
Total checkpoints
(采样期间发生的常规和自由检查点的总数量。)
Average time per
normal checkpoint(报告常规检查点持续的平均时间。)
Average time per
free checkpoint(自由检查点持续的平均时间)
Increasing the
housekeeper batch limit(管家任务就有内置批处理限制以避免单个设备磁盘I/O过载。缺省情况下,管家任务操作批处理大小设置为3。管家检测到已发出3个I/O到单个设备后立即停止当前缓冲池的写操作,并开始检查其它池中的脏页。如果写操作从下一池转到相同设备,则移动到另一池。检查晚所有吃后开始等待直到由他发出的最后的I/O完成,然后再开始下一循环。
缺省批处理限制是为了速度较慢的磁盘提供较好的I/O特性而设计。通过加快磁盘驱动器的批量大小会获得较好的性能。可为服务器上的所有设备进行全局设定次限制或为单个不同速度的磁盘设置不同的限制值。每次ASE重启后需要重新设定此限制。
单个设备设置批处理限制“dbcc tune
(deviochar,vdevno,”10”)
更改所有设备的批处理大小,可用-l代替设备号“dbcc
tune (deviocha,-l,”10”)
批量大小合法值为1-255,对于速度较快的磁盘,将批量大小设定为50可在测试过程中提高性能。
以下情况可尝试设定批量大小:
1.
常规检查点的平均时间很长
2.
超过I/O配置限制或出现对设备信号的争用不会出现任何问题。
Disk I/O management(报告磁盘I/O。描述服务器磁盘I/O活动并报告每个逻辑设备的读写与信号争用。)
Maximum outstanding
I/Os。(报告ASE整体上待执行I/O的最大数量,以及Ase引擎在采样期间在任一点上待执行的I/O最大数量。)
I/Os delayed by (I/O 延迟原因)
Disk I/O
structures (报告因达到磁盘I/O结构限制而延迟的I/O数量。当超出可用磁盘I/O控制块数量时,I/O被延迟。因ASE要求任务应在启动I/O请求前获得I/O控制块。“disk
i/o structures”改善。)
Server configuration
limit (ASE超出异步磁盘I/O请求数量的限制,而这些请求对于整个ASE来说可能同时处于未完成状态。可用”max async I/O per
server”改善。)
Engine configuration
limit(引擎超出未完成异步I/O请求的限制。使用”max async I/Os per engine”参数改善。)
Operation system
limit (报告在采样间隔期间超出对未完成异步I/O的操作系统限制的次数。OS内核限制,进程或者整个系统在任何同一时间内处于待执行状态的异步I/O最大数目。)
Total request disk I/Os和total completed
I/Os(请求和完成的I/O数量。两值应该相近,当然要排除次采样开始或采样结束时未完成的I/O数目。但相差过大,可能是操作系统瓶颈延迟了I/O。)
上一页 [1] [2] [3] [4] 下一页 |