se30分析程序运行时间实例
生活随笔
收集整理的這篇文章主要介紹了
se30分析程序运行时间实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實例分析過程
1.輸入程序名和變式。(本次分析使用默認設置)
?
推薦間三個測量變式:
a)PREF_BY_CALL(default):在程序部分什么都不選,語句部分除kernel level??runtime administration和internal table change and read operation之外其它都選,在第三部分設置aggreation ‘per call position’和最大的文件的大小為20000k,最大的運行時間為3000sec??
b)PREF_BY_CALL_ITAB,除了選上internal table change and read operation外其它的 更上面一樣?
c)PREF_NO_AGG,除了把第三部分的no aggregation設成ON,其它的跟 PREF_BY_CALL一樣?
2. 點擊分析運行按鈕進入程序運行界面。
3.程序運行成功,輸出查找的到所有信息。
?
4.退出程序界面,返回SE30界面,將看到下面的信息。
?
6.到這里,程序運行的過程就已經完了,接下來就是查看 EVALUATE 評價界面和查看命中清單了。
7.點擊 Evaluate 按鈕進入評價界面將看到一下信息。
?
這個 屏幕 最重要的信息便是在數據庫和應用服務器層的總共運行時間。這些地方正是你可以優化的地方?;蛟S你已經對總共的運行時間有所期望或受外界所限。通常情況下為了達到2sec的響應時間,你在應用層的運行時間要遠遠小于2sec。而較大的批處理程序可能需要較長的時間。當然運行時間的好壞,還需要你根據具體情況去判斷。??圖中的紅綠顏色沒有什么本質上的意義,只是如果它的百分比達到了50%就會由綠色變成紅色。??對于一個 ABAP 程序來說數據庫和系統的運行時間應該比較短,至少不能太大。對于系統運行時間來說,10%已經是太大了。對于數據庫來說運行時間一般不能超過50%。ABAP是邏輯處理的主要部分,所以ABAP應當占有最多的運行時間。
8.看了解大概情況以后,我們必須知道時間消耗的細節情況,這時我們就必須進入到命中清單了。點擊上面圖上所表示的圖標將進入到命中清單中。具體如下圖。
?
在命中清單中,由上到下的便是程序運行的調用順序。比較重要的測量值是:NO,GROSS和NET,它告訴了你每個操作執行的頻次,所需的時間,GROSS包含子操作所花費的時間,NET只計算了操作本身所需的時間。注意時間的單位是微秒,時間是總時間不是每部操作的時間。
查看消耗時間時我們可以首先以gross time倒序排列檢查列表,你看到的也是缺省的顯示方式。
? ?? ???1高gross time便是消耗資源較高的分支??
? ?? ???2然后按照NET TIME排倒序,高的NET TIME便是消耗資源較高的語句
9.命中清單中還有一個非常有用的功能,當我們將光標停留在我們需要關注的那一行,例如上圖中有紅框選中的那一行,然后點擊圖中左上角圈住的那個標志。將會出現下圖的效果。
?
命中清單就直接調轉到程序代碼中,所對應的那一個代碼段。這樣我們就可以很方便的找出,程序中哪一段代碼,消耗的時間最多,哪里需要改進,優化。這一功能將是無比方便的。
10.以上的就是整個的過程。在最后如果程序員對程序不滿意的話,可以根據分析的結果,進行優化。具體的優化,可以參照SE30里的 提示與技巧 里的代碼進行優化
1.輸入程序名和變式。(本次分析使用默認設置)
?
推薦間三個測量變式:
a)PREF_BY_CALL(default):在程序部分什么都不選,語句部分除kernel level??runtime administration和internal table change and read operation之外其它都選,在第三部分設置aggreation ‘per call position’和最大的文件的大小為20000k,最大的運行時間為3000sec??
b)PREF_BY_CALL_ITAB,除了選上internal table change and read operation外其它的 更上面一樣?
c)PREF_NO_AGG,除了把第三部分的no aggregation設成ON,其它的跟 PREF_BY_CALL一樣?
2. 點擊分析運行按鈕進入程序運行界面。
3.程序運行成功,輸出查找的到所有信息。
?
4.退出程序界面,返回SE30界面,將看到下面的信息。
?
6.到這里,程序運行的過程就已經完了,接下來就是查看 EVALUATE 評價界面和查看命中清單了。
7.點擊 Evaluate 按鈕進入評價界面將看到一下信息。
?
這個 屏幕 最重要的信息便是在數據庫和應用服務器層的總共運行時間。這些地方正是你可以優化的地方?;蛟S你已經對總共的運行時間有所期望或受外界所限。通常情況下為了達到2sec的響應時間,你在應用層的運行時間要遠遠小于2sec。而較大的批處理程序可能需要較長的時間。當然運行時間的好壞,還需要你根據具體情況去判斷。??圖中的紅綠顏色沒有什么本質上的意義,只是如果它的百分比達到了50%就會由綠色變成紅色。??對于一個 ABAP 程序來說數據庫和系統的運行時間應該比較短,至少不能太大。對于系統運行時間來說,10%已經是太大了。對于數據庫來說運行時間一般不能超過50%。ABAP是邏輯處理的主要部分,所以ABAP應當占有最多的運行時間。
8.看了解大概情況以后,我們必須知道時間消耗的細節情況,這時我們就必須進入到命中清單了。點擊上面圖上所表示的圖標將進入到命中清單中。具體如下圖。
?
在命中清單中,由上到下的便是程序運行的調用順序。比較重要的測量值是:NO,GROSS和NET,它告訴了你每個操作執行的頻次,所需的時間,GROSS包含子操作所花費的時間,NET只計算了操作本身所需的時間。注意時間的單位是微秒,時間是總時間不是每部操作的時間。
查看消耗時間時我們可以首先以gross time倒序排列檢查列表,你看到的也是缺省的顯示方式。
? ?? ???1高gross time便是消耗資源較高的分支??
? ?? ???2然后按照NET TIME排倒序,高的NET TIME便是消耗資源較高的語句
9.命中清單中還有一個非常有用的功能,當我們將光標停留在我們需要關注的那一行,例如上圖中有紅框選中的那一行,然后點擊圖中左上角圈住的那個標志。將會出現下圖的效果。
?
命中清單就直接調轉到程序代碼中,所對應的那一個代碼段。這樣我們就可以很方便的找出,程序中哪一段代碼,消耗的時間最多,哪里需要改進,優化。這一功能將是無比方便的。
10.以上的就是整個的過程。在最后如果程序員對程序不滿意的話,可以根據分析的結果,進行優化。具體的優化,可以參照SE30里的 提示與技巧 里的代碼進行優化
總結
以上是生活随笔為你收集整理的se30分析程序运行时间实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ALV标准范例Demo汇总
- 下一篇: SAP ABAP程序效率优化 Perfo