您好,登錄后才能下訂單哦!
如何對Linux的服務器進行性能評估?如何有技術含量地開發了一個網頁?針對這個問題,今天小編總結這篇有關服務器性能評估的文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。
首先需要分清楚CPU使用率和機器負載不是相同的概念,如果CPU使用率,但是不一定代表機器負載同樣也高。所以關于CPU使用率和負載的區別:
- CPU使用率:顯示的是程序在運行期間占用的CPU百分比;
- CPU負載:顯示的是一段時間內正在使用和等待使用的CPU平均任務數;
對于查看負載可以使用uptime,w命令,同時top,vmstat工具也可以同時觀察CPU使用率和負載情況。
查看CPU核數:
grep "model name" /proc/cpuinfo | wc -l
命令返回信息中的load average就是關于系統的平均負載,里面的三個數字分別代表著1分鐘、5分鐘、15分鐘內的系統平均負載。
(如果是多核CPU,1查看各個CPU詳細信息)
top工具的第一行后面的三個值,分別也是代表之前的1、5、15分鐘內的平均負載;
第三行關于CPU使用率各項參數的含義:
- (us)user:CPU在低nice值(高優先級)用戶態所占用的時間;(大部分CPU時間都在執行此類程序)
- (sy)sytem:CPU處于內核所占用的時間,操作系統通過系統調用從用戶態陷入內核態,執行特定的服務;(通常該值會比較小,當服務器執行的IO比較密集的時候,會比較大)
- ni(nice):CPU在高nice值(低優先級)用戶態以低優先級運行占用的時間(nice>0);
- si(softirq):系統處理軟中斷所消耗的時間
- st(steal):在虛擬機情況下,因為虛擬機下的CPU是共享物理CPU,表明這段時間虛擬機等待hypervisor調度CPU的時間。
首先對于CPU使用率,如果長時間處于60-80%的范圍,就意味著可能服務器出現瓶頸。如果需要具體分析,還需要觀察是user占用率過高,還是system占用率過高。具體:
- us:當user占用率過高,通常是某些個別的進程占用了大量的CPU;
- sy:當system占用率過高,說明系統管理花費了大量時間,比如一些IO操作,或者部分內核,驅動模塊;
*(其次負載指標來說,一直存在許多爭議,我綜合了一些文章的觀點,具體是CPU負載保持在(CPU核數0.7)范圍內,這樣的負載是安全的,如果超過一定的負載(=CPU核數)就可以算是意味著over load。)**
內存也叫內存存儲器,作用是暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。
- 物理內存:通過物理內存條獲得的內存空間,即隨機存儲器(RAM),與CPU直接交換數據的內部存儲器,也叫主存
- 虛擬內存:計算機的一種內存管理技術,使應用程序認為擁有可連續使用的內存(完整的地址空間),實際上,被分割為多個物理內存碎片,以及部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。
- Swap分區:在系統的物理內存不夠用的時候,將物理內存中的一部分空間釋放出來,供當前運行的程序使用,這些被釋放的空間可能來自于很長時間沒有操作的程序,釋放的空間被臨時保存到Swap空間中,等到那些程序需要運行的時候,在從Swap分區中恢復保存的數據到內存。
free命令可以顯示Linux系統中的空閑,已用的物理內存,Swap分區:
- total:總的可用空間,used:已使用空間;free:空閑可用空間;shared:共享使用物理內存空間;available:可以被應用程序使用的物理內存空間。
- buffers就是即將要寫入到磁盤中,cache使從磁盤中讀取出來。buff/cache:被buff和cache使用的物理內存空間
- free是真正未被使用到的物理內存空間,avaiable是從應用程序角度看,如果應用程序需要使用到內存,可以從buff/cache中回收內存滿足應用程序的請求。
(展示不同進程的內存占用情況)
對于磁盤I/O訪問負載過高,通常會出現系統操作,應用服務無法響應等問題,通常可以通過top、iostat,iotop,ps,lsof工具定位問題。
(wa:表示IO等待所占用的CPU時間占比,高過30%時IO壓力過高)
(當util接近100%時,說明產生的I/O請求太多,滿負荷運行。)
測試有關網絡性能,一般從可用性、響應時間、網絡利用率、網絡吞吐量,網絡帶寬容量這幾個方面。而常用的工具則有(ping、netstat、sar、tcpdump、iptraf)
查看制定以太網卡的吞吐量情況:
iptraf-ng -d eth0
查看網卡性能:
sar -n DEV 1 100
參數含義:
- IFACELAN接口
- rxpck/s每秒鐘接收的數據包
- txpck/s每秒鐘發送的數據包
- rxbyt/s或者rxkB/s每秒鐘接收的字節數(上傳速度,網卡入流量)
- txbyt/s或者txkB/s每秒鐘發送的字節數(下載速度,網卡出流量)
- rxcmp/s每秒鐘接收的壓縮數據包
- txcmp/s每秒鐘發送的壓縮數據包
- rxmcst/s每秒鐘接收的多播數據包
關于服務器性能評估就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。