略過巡覽連結首頁 > 產品與服務 > 技術分享

技術分享

[技術分享]NonStop Server系統效能技術分析(下)

作者/馬先讓
作者簡歷

作者擁有26年IT服務資歷,現職凌群電腦NSK服務總處副總工程師,主要負責HPE Nonstop 證券、期貨、銀行客戶交易系統維運服務,專長為HPE NonStop系統整合。

前言

HPE NonStop Server系統效能分析包含了很多面向,上一期文章針對系統效能分析MEASURE工具操作做了說明,本期文章會針對如何快速分析MEASURE DATA的方式做詳細說明。

自動分析MEASURE DATA

一、凌群提供用ENFORM撰寫MEASURE分析REPORT,程式清單如下:
  • WCPU:分析CPU BUSY

  • WIPU:分析每顆CPU內IPU BUSY

  • WDISC:分析DISC BUSY

  • WDISCACH:分析DISK CACHE

  • WDSCOPEN:分析DISK內檔案的READ/WRITE

  • WPROCESS:分析PROCESS BUSY

  • ZDFWAIT:分析檔案LOCKWAIT

  • WOPENX:分析檔案READ/WRITE 是那些PROCESSES 造成


二、其他相關執行的OBEYFILE如下:
  • 執行自動分析報表的程序

  • MEASOBY2:將CPU、DISC、PROCESS、DISCOPEN產生成CODE 170的MEASURE DATA FILE,供ENFORM分析。

  • MEASOBY4:將CPU用LISTALL CPU *方式產生每個時間點的值到MEASURE DATA FILE,讓ENFORM報表程式-WIPU分析每個時間點CPU/IPU BUSY值。

  • ENFOB2:執行ENFORM報表程式。

  • MEASSTRT:收集MEASURE OBEYFILE

  • MEASSTOP:停止收集MEASURE OBEYFILE

  • 產生的報表可以轉成文字檔透過EXCEL做排序分析。


三、建立自動分析MEASURE環境
  • 到一個新的目錄,複製系統$SYSTEM.SYSnn.MEASDDLS到該目錄,執行DDL/IN MEASDDLS/DICT !


  • 《圖一》

  • 執行完DDL後就會在該目錄建立MEASURE的DICTIONARY,如下


  • 《圖二》

  • 將報表程式放入該目錄內,以及其他分析報表所需的檔案


《圖三》


四、收集MEASURE-MEASSTRT/MEASSTOP
  • 執行收集MEASURE程序

  • RUN MEASSTRT MDATA
  • 等待收集一段時間後,再執行:RUN MEASSTOP MDATA 即完成收集該時間的MEASURE會產生CODE 175的MDATA檔案


  • 《圖四》


五、執行分析MEASURE REPORT - A
  • 執行分析MEASURE OBEYFIL
    RUN A MDATA
    執行完後,它會將REPORT 檔案放到OUT的目錄內。

    《圖五》

    執行完後,它會將REPORT 檔案放到OUT的目錄內。

    《圖六》

    將這些檔案下載至PC查看。


六、分析CPU REPORT- WCPU
  • CPU REPORT是分析系統CPU上的負載是否平均

    《圖七》

    Pct Busy:這段時間內CPU的BUSY %
    Swaps:這段時間內CPU的Swaps
    Cpu Qlen:這段時間內CPU的Qlen


七、分析DISC REPORT- WDISC
  • DISC REPORT是分析系統上的DISK是否有DISK BUSY過高(超過15) 若有的話,要再分析該DISK的WOPEN報表,找出負載過重的檔案。

    《圖八》

    BUSY:該值為DISK的DEVICE-QBUSY-TIME,需低於15%


八、分析CACHE REPORT- WDISCACH
  • CACHE REPORT是分析系統上的DISK CACHE是否足夠

    《圖九》

    %CACHE HIT:DISC CACHE READ HIT 要大於95%


九、分析PROC REPORT- WPROCESS
  • PROC REPORT 是分析系統上的PROCESS BUSY

    《圖十》

    Busy Perc:Process Busy %

    註:有些PROCESS 的執行時間極短,Busy 極高,所以BUSY值需要加乘時間因素才能算得真正PROCESS BUSY.
    EXCEL公式: =(((HOUR(C2)*60*60+MINUTE(C2)*60+SECOND(C2))/1800)*H2)/2

    《圖十一》

    說明:
    (1)將PROC的檔案用EXCEL匯入
    (2)產生C欄位(值為B-A;計算實際的秒數)為TOTAL TIME,並將欄位A-C格式改成如下:

    《圖十二》

    (3)產生I欄位,設定公式如下:
    ((process 花費的總時間/收集MEASURE 總秒數)* Proc Busy)/CPU核心數)
    =(((HOUR(C2)*60*60+MINUTE(C2)*60+SECOND(C2))/1800)*H2)/2
    其中1800是該MEASURE收集的總秒數, 最後一個2是因為該系統CPU 是雙核心要除以2.


十、分析WOPEN REPORT- WDSCOPEN

WOPEN REPORT 是分析DISK上檔案的負載(READs/WRITEs)和Block Splits次數。

《圖十三》

DISC READS:檔案READ的次數
DISC WRITES:檔案WRITE的次數
READ HITS:檔案在DISK CACHE中READ的次數
WRITE HITS:檔案在DISK CACHE 中WRITE的次數
BLOCK SPLITES:檔案在WRITE時,發生BLOCK SPLITES次數

十一、分析WAIT REPORT- ZDFWAIT
  • WAIT REPORT 是分析有發生LOCKWAIT的檔案和PROCESS關係

    《圖十四》

    OCKWAIT-TIME:檔案LOCKWAIT TIME(毫秒ms),若發現有檔案的LOCKWAIT TIME值很高,需請AP人員確認程式對該檔的I/O是否能改善。


十二、分析OPENX REPORT- WOPENX
  • OPENX REPORT是分析檔案實際是被那些PROCESS 做READ/WRITE的次數,更能確認檔案主要是被那支程式做I/O

    《圖十五》

    Disc Read:檔案被Read的次數
    Disc Write:檔案被Write的次數

    註:每次MEASURE要分析檔案與PROCESS的關係的檔案不同,所以當要分析的檔案不同時,要先修改WOPENX 報表程式的內容,將要分析的檔案放到報表程式內,並重新執行ENFORM程序。


《圖十六》


如何降低TSMSGIP負載

TSMSGIP(Tnet Services Message System Interrupt Process),是系統用來處理message system interrupt,當兩個process 在不同CPU互相交換資料或訊息時,兩顆CPU上的TSMSGIP Process就會處理這些資訊,但若當兩個process 在同一個CPU互相交換資料或訊息時,則TSMSGIP就不會花費CPU資源。

若降低TSMSGIP負載,就能將省下來的CPU資源讓交易程式使用,所以在透過MEASURE分析系統效能時,考量將Process和它主要I/O檔案的DISK放在同一顆CPU,或是將互相關聯的Process放在同一個CPU上,就能降低TSMSGIP對CPU資源的耗損。

分析系統效能程序

一、收集MEASURE

二、先手動分析該時段MEASURE,確認系統最忙碌的時間點


程序如下:
  • LIST CPU *

  • ADD PLOT CPU-BUSY-TIME

  • LIST PLOT

三、調整measoby2和measoby4內容,加上要分析的時間點

+ LIST CPU * , FROM 9:00, TO 10:00
+ LIST DISC $* , FROM 9:00, TO 10:00
+ LIST PROCESS * , FROM 9:00, TO 10:00
+ LIST DISCOPEN * , FROM 9:00, TO 10:00LIST PLOT

四、執行自動分析measure程序A

Run A MDATA -- MDATA為收集的MEASURE DATA

五、會產生八個MEASURE ENFORM REPORT

CPU、CACHE、DISC、IPU、PROC、WAIT、WOPEN、OPENX

六、將IPU REPORT 匯至EXCEL,可產生該時段CPU BUSY的曲線圖

七、檢查CPU REPORT

確認CPU BUSY 是否負載平均.若沒有,就要分析PROC REPORT,確認該顆CPU上的PROCESS 負載較重的PROCESS是什麼,若是DISK PROCESS就要再分析WOPEN REPORT,確認該顆DISK上負載較重的檔案是那些,將它們分散到其他較不忙的DISK上。若是一般PROCESS,就可以進行CPU間PROCESS的調配,以達成系統的CPU負載平均。

八、檢查DISC REPORT

檢查是否有DISK的BUSY過高(大於15),若有的話,分析WOPEN REPORT,確認該顆DISK上負載較重的檔案是那些,將它們分散到其他較不忙的DISK上。

九、檢查CACHE REPORT

確認DISK CACHE的READ HIT 都在95%以上

十、檢查WAIT REPORT

確認是否有檔案LOCKWAIT時間過高.若有檔案的LOCKWAIT 時間明顯過高,將該檔案名放到WOPENX內,重新執行ENFORM/IN WOPENX/產生OPENX的REPORT,確認該檔案是被那些程式做I/O (READ/WRITE).再交由AP人員分析程式行為是否有改善方式。

十一、手動檢查有沒有PROCESS RECV-QTIME過高

若值為2位數,就要分析該程式行為是否正常。
指令: LIST PROCESS *,BY RECV-QTIME,FORMAT BRIEF

十二、調整檔案位置讓DISK的負載分配平均,調整PROCESS分配

讓CPU負載平均,即完成系統效能調校。

十三、若系統資源接近滿載時,就要考量降低TSMSGIP的BUSY

分析方式如下:
A.分析WOPEN REPORT,找出負載最重的檔案。
B.將這些檔案加入WOPENX的程式內,重新產生OPENX的REPORT。
C.找出這些檔案最主要被那個程式所OPEN.交叉比對PROC REPORT。
D.將這些負載過重的檔案DISK的CPU調配和主要程式的PROCESS在同一顆CPU,就能降低兩顆CPU上的TSMSGIP的BUSY。

參考資料

1.Performance Analysis and Tuning for NonStop Systems
2.Measure Users Guide
3.Measure Reference Manual

 

回上一頁