性能調試---(一)性能分析準則
1:系統性能管理
2:系統管理員的使命
3:資源與瓶頸
4:影響系統性能的因素
5:系統性能調試的一般原則
系統性能管理
要對系統進行性能分析和調試,其前提條件是知道好的性能是什麼含義,一般我們可以從以下兩個角度來衡量系統性能狀態:
1)響應時間(Response Time)
從用戶的角度來看,系統處於良好的性能狀態是指系統能夠快速響應用戶的請求,即系統響應時間短。
具體地說,響應時間是指發出請求的時刻到用戶的請求的相應結果返回用戶的時間間隔。
2)吞吐量(Throughput)
從系統管理員角度來看,系統的吞吐量成爲系統處於良好的性能狀態的指標。
具體地說,吞吐量是在給定時間段內系統完成的交易數量。即系統的吞吐量越大,說明系統在單位時間內完成的用戶或系統請求越多, 系統的資源得到充分利用。
系統管理員的使命
一般地,系統管理員的主要功能爲:
Making the system available to others
Monitoring the usage of the system
Maintaining a certain level of performance
Planning for future processing needs
資源與瓶頸
要使系統處於良好性能狀態,就必須讓所有的系統資源協調工作。
1)系統資源(System Resource)
計算機組成十分複雜,但關鍵的系統資源不外如下這些:
CPU
內存
磁盤
輸入輸出,尤其是網絡和串行通信
2)瓶頸(Bottleneck)
在計算機的衆多資源中,由於系統配置的原因,某種資源成爲系統性能的瓶頸是很自然的事情。
當所有用戶或系統請求對某種資源的需求超過它的可用數量範圍時,我們稱這種資源成爲瓶頸。
當系統出現瓶頸時,消除瓶頸是方法通常有兩種:
增加成爲瓶頸的資源的數量;
減少請求的數量;
影響系統性能的因素
應該說,影響系統性能的因素很多,但歸納起來主要有以下幾個因素:
硬件因素:CPU個數夠不夠?內存夠不夠?等等
操作系統:操作系統的配置是否合理?
應用軟件:應用系統設計得如何;
人的因素:操作人員是否有充分的培訓,以完全懂得操作系統?
經常性的變化因素:用戶的需求是否經常性變化?用戶對系統負載的要求是否經常性變化?
系統性能調試的一般原則
對系統進行性能調試必須遵循一定的原則,這些原則都經驗豐富的工作師經過多年的實踐總結出來的。
性能調試是一件嚴肅的事情,不要對系統的各種參數進行隨意的改動;
一次只對某個領域進行性能調試,例如對CPU的使用情況進行分析;
每次只改動一個設置;
每次對系統性能進行分析時,至少使用兩種性能分析和調試工具;
經驗是最好的分析和調試工具;
知道什麼情況下該停止操作;
一般地,我們有以下四條性能調試的規則:
1)當你回答一個關於計算機系統性能的問題時,最初的回答總是“可能吧,視具體情況而定(It depends)”。
當然這個回答不會讓用戶滿意的,因此,我們必須進一步可能對系統性能產生影響的各種因素進行分析, 它們所有作用是什麼,起多大的作用。
2)性能分析和調試總是存在着折衷。
當系統管理員試圖對計算機系統的性能進行調整時,們可能需要修改系統參數,或修改應用。然而,性能調試 不存在唯一回答或最優答案。
比如:tuning to improve memory utilization may degrade file system performance;Choosing RAID disk comfigurations for data integrity may be less expersive than altternative mirroring solutions that often improve performance.It is may be more cost-effective to purchase a CPU upgrade rather than spend days or weeks analyzing how the application could be changed to improve performance.
3)在分析系統性能的同時,系統性能將會受到影響。
由於在進行系統性能分析時,性能分析工具本身將會佔用一定的系統資源,如CPU資源、內存資源等等。我們必須注意到這點, 即分析工具本身運行可能會導致系統某方面的資源瓶頸情況更加嚴重。
4)只用一種工具是無法全面、正確地分析出系統的資源瓶頸所在。