重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
楊海春,曾在從興技術(shù)有限公司擔(dān)任主要設(shè)計開發(fā)崗,熟悉移動計費系統(tǒng)整體系統(tǒng)架構(gòu)。目前就職于騰訊計算機系統(tǒng)有限公司,擔(dān)任工程師職位,熟悉日志計費系統(tǒng),離線計算等場景。
在東港等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制網(wǎng)站設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,東港網(wǎng)站建設(shè)費用合理。
軟件系統(tǒng)跑在機器上,處理能力受硬件制約,所以,單機處理能力會有上限。評估機器處理能力的上限,檢查程序的瓶頸在哪,有助于程序性能分析。
主要的幾大硬件:CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤。本文主要結(jié)合本人經(jīng)驗介紹這幾大硬件的性能評估工具。
vmstat 1 10
第一個參數(shù):采樣頻率
第二個參數(shù):采樣次數(shù)
結(jié)果參數(shù):
--procs--
r:運行和等待CPU時間片的進程數(shù)
b:等待資源的進程數(shù)。如等待網(wǎng)絡(luò)I/O
如果r值長期大于CPU的個數(shù), 則CPU遇到瓶頸
--cpu--
us:用戶進程消耗CPU時間百分比
sy :內(nèi)核進程消耗的CPU時間百分比
如上圖,跑了幾個耗cpu的程序,發(fā)現(xiàn)us長期接近100,cpu已經(jīng)跑滿了。這個時候,可能需要考慮優(yōu)化應(yīng)用服務(wù)算法了。
一般:如果us長時間大于50,需要考慮優(yōu)化程序算法等。
sy + us > 80
可能存在CPU瓶頸了
舉例:sar -u 1 5
%idle
值高,表示CPU較空閑。
如果idle值持續(xù)低于10,表示系統(tǒng)中目前的瓶頸在CPU。
如上圖,CPU已經(jīng)達到瓶頸了。
舉例:free –g or free –m
-g:以GB為單位查看
-m:以MB為單位查看
關(guān)注第二行:
-buffers/cache=Mem行:used-buffers-cached
+buffers/cache=Mem行:free+buffers+cached
一般第二行 +buffers/cache
表示應(yīng)用程序可使用的內(nèi)存。
cached里的內(nèi)容,一般可以釋放給應(yīng)用程序使用。
釋放cached里的內(nèi)存,看是否可用:
echo 3 > /proc/sys/vm/drop_caches
再查看內(nèi)存:
發(fā)現(xiàn)末完全釋放,只釋放了一部分。(與上面的圖比較)
檢查:發(fā)現(xiàn)部分共享內(nèi)存占用,無法釋放,應(yīng)用程序也就無法使用這部分了。
刪除目前沒有使用的共享內(nèi)存:
ipcs -m | awk '$6 == 0 {system("ipcrm -m "$2)}'
再執(zhí)行
echo 3 > /proc/sys/vm/drop_caches
再執(zhí)行
free –m
cached里的內(nèi)存又釋放了一些。
剩下的,部分的共享內(nèi)存,應(yīng)用程序正常使用,無法釋放。
所以,真正可用的內(nèi)存,應(yīng)該是 2400M左右。
還可以使用cat /proc/meminfo
查看
舉例:
iostat -d -x -k 1 10
-d 表示,顯示設(shè)備(磁盤)使用狀態(tài)
-x將用于顯示和io相關(guān)的擴展數(shù)據(jù)
-k某些使用block為單位的列強制使用Kilobytes為單位
await I/O
請求的平均等待時間,單位毫秒;值越小,性能越好;
svctm I/O
請求的平均服務(wù)時間,單位毫秒
%util
統(tǒng)計時間內(nèi)有百分幾的時間用于I/O操作。接近100,表示磁盤已經(jīng)接近滿負荷運行了。
如上圖,如果await時間遠大于svctm,表示等待I/O隊列的時候太大,磁盤已經(jīng)達到瓶頸了。
舉例:
sar –d 1 10
avwait:隊列占滿時傳送請求等待隊列空閑的平均時間。
avserv:完成傳送請求所需平均時間(毫秒)。
%util
: 100磁盤已經(jīng)繁忙了。
看寫入速度,100多M每秒。要提高寫入速度,可以換更快的盤。
舉例:
ss -a -tp -s|grep agent
ss –s
查看現(xiàn)有連接數(shù)等:
常用選項:
-a 顯示所有的sockets
-l 顯示正在監(jiān)聽的
-n 顯示數(shù)字IP和端口,不通過域名服務(wù)器
-p 顯示使用socket的對應(yīng)的程序
-s 打印出統(tǒng)計信息。
舉例:
top
%us:指的是cpu用在用戶態(tài)程序上的時間;
%sy:指的是cpu用在內(nèi)核態(tài)程序上的時間;
%ni:指的是用在nice優(yōu)先級調(diào)整過的用戶態(tài)程序上的時間;
%id:指的是cpu空閑時間;
load average:
任務(wù)隊列的平均長度
1分鐘、5分鐘、15分鐘前到現(xiàn)在平均值
三個值長時間大于CPU核數(shù)的話,表示機器很繁忙。上圖開了8個耗CPU程序,可以發(fā)現(xiàn),1分鐘均值已經(jīng)越過CPU個數(shù)(機器CPU個數(shù)為8核)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。