1. 程式人生 > >lr測試資料庫和windows監控指標

lr測試資料庫和windows監控指標

資料庫伺服器:
  SQL Server資料庫:

  1) SQLServer資源監控中指標快取點選率(Cache Hit Ratio),該值越高越好。如果持續低於80%,應考慮增加記憶體。

  2) 如果Full Scans/sec(全表掃描/秒)計數器顯示的值比1或2高,則應分析你的查詢以確定是否確實需要全表掃描,以及SQL查詢是否可以被優化。

  3) Number of Deadlocks/sec(死鎖的數量/秒):死鎖對應用程式的可伸縮性非常有害,並且會導致惡劣的使用者體驗。該計數器的值必須為0。

  4) Lock Requests/sec(鎖請求/秒),通過優化查詢來減少讀取次數,可以減少該計數器的值。

  Oracle資料庫:

  1) 如果自由記憶體接近於0而且庫快存或資料字典快存的命中率小於0.90,那麼需要增加SHARED_POOL_SIZE的大小。

  快存(共享SQL區)和資料字典快存的命中率:

  select(sum(pins-reloads))/sum(pins) from v$librarycache;

  select(sum(gets-getmisses))/sum(gets) from v$rowcache;

  自由記憶體: select * from v$sgastat where name=’free memory’;

  2) 如果資料的快取命中率小於0.90,那麼需要加大DB_BLOCK_BUFFERS引數的值(單位:塊)。

  緩衝區快取記憶體命中率:

  select name,value from v$sysstat where name in (’db block gets’,

  ‘consistent gets’,'physical reads’) ;

  Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))

  3) 如果日誌緩衝區申請的值較大,則應加大LOG_BUFFER引數的值。

  日誌緩衝區的申請情況 :

  select name,value from v$sysstat where name = ‘redo log space requests’ ;

  4) 如果記憶體排序命中率小於0.95,則應加大SORT_AREA_SIZE以避免磁碟排序 。

  記憶體排序命中率:

  select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name=’sorts (disk)’ and b.name=’sorts (memory)’

  注:上述SQL Server和Oracle資料庫分析,只是一些簡單、基本的分析,特別是Oracle資料庫的分析和優化,是一門專門的技術,進一步的分析可查相關資料

伺服器資源監控指標:

  記憶體:

  1) UNIX資源監控中指標記憶體頁交換速率(Paging rate),如果該值偶爾走高,表明當時有執行緒競爭記憶體。如果持續很高,則記憶體可能是瓶頸。也可能是記憶體訪問命中率低。

  2) Windows 資源監控中,如果Process\Private Bytes計數器和Process\Working Set計數器的值在長時間內持續升高,同時Memory\Available bytes計數器的值持續降低,則很可能存在記憶體洩漏。

  記憶體資源成為系統性能的瓶頸的徵兆:

  很高的換頁率(high pageout rate);

  程序進入不活動狀態;

  交換區所有磁碟的活動次數可高;

  可高的全域性系統CPU利用率;

  記憶體不夠出錯(out of memory errors)

  處理器:

  1) UNIX資源監控(Windows作業系統同理)中指標CPU佔用率(CPU utilization),如果該值持續超過95%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。如果伺服器專用於 SQL Server,可接受的最大上限是80-85%

  合理使用的範圍在60%至70%。

  2) Windows資源監控中,如果System\Processor Queue Length大於2,而處理器利用率(Processor Time)一直很低,則存在著處理器阻塞。

  CPU資源成為系統性能的瓶頸的徵兆:

  很慢的響應時間(slow response time)

  CPU空閒時間為零(zero percent idle CPU)

  過高的使用者佔用CPU時間(high percent user CPU)

  過高的系統佔用CPU時間(high percent system CPU)

  長時間的有很長的執行程序佇列(large run queue size sustained over time)

  磁碟I/O:

  1) UNIX資源監控(Windows作業系統同理)中指標磁碟交換率(Disk rate),如果該引數值一直很高,表明I/O有問題。可考慮更換更快的硬碟系統。

  2) Windows資源監控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec頁面讀取操作速率很低,則可能存在磁碟瓶徑。

  I/O資源成為系統性能的瓶頸的徵兆 :

  過高的磁碟利用率(high disk utilization)

  太長的磁碟等待佇列(large disk queue length)

  等待磁碟I/O的時間所佔的百分率太高(large percentage of time waiting for disk I/O)

  太高的物理I/O速率:large physical I/O rate(not sufficient in itself)

  過低的快取命中率(low buffer cache hit ratio(not sufficient in itself))

  太長的執行程序佇列,但CPU卻空閒(large run queue with idle CPU)