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