91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Linux性能分析和優化

發布時間:2021-09-27 16:20:04 來源:億速云 閱讀:126 作者:柒染 欄目:系統運維

如何進行Linux性能分析和優化,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

前言

一般互聯網的項目都是部署在linux服務器上的,如果linux服務器出了問題,那么咱們平時學習的高并發,穩定性之類的是沒有任何意義的,所以對linux性能的把握就顯得非常重要,當然很多同學可能覺得這些是運維同學的事情,但是我不這么認為,不管你是架構師,還是crud  boy,對項目有個全局的掌控是一項非常重要的基本素質,所以總結了這篇文章,希望對您有用,如果您覺得我寫的還不錯,看完記得點個贊,點個再看哦。咱們廢話不用多說,直接進入正題。

影響linux服務器性能的因素

cpu

CPU是操作系統穩定運行的根本,CPU的速度與性能在很大程度上決定了系統整體的性能,因此,CPU數量越多、主頻越高,服務器性能也就相對越好。

內存

內存的大小也是影響Linux性能的一個重要的因素,內存太小,系統進程將被阻塞,應用也將變得緩慢,甚至失去響應;內存太大,導致資源浪費。

磁盤IO

磁盤的I/O性能直接影響應用程序的性能,在一個有頻繁讀寫的應用中,如果磁盤I/O性能得不到滿足,就會導致應用停滯。好在現今的磁盤都采用了很多方法來提高I/O性能,比如常見的磁盤RAID技術。

網絡

Linux下的各種應用,一般都是基于網絡的,因此網絡帶寬也是影響性能的一個重要因素,低速的、不穩定的網絡將導致網絡應用程序的訪問阻塞,而穩定、高速的網絡帶寬,可以保證應用程序在網絡上暢通無阻地運行。幸運的是,現在的網絡一般都是千兆帶寬或光纖網絡,帶寬問題對應用程序性能造成的影響也在逐步降低。

常用的linux系統性能監控的命令

uptime(系統整體性能評估)

如何進行Linux性能分析和優化

這里需要注意的是:load average這個輸出值,這三個值的大小一般不能大于系統CPU的個數

那么如何查看cpu的個數呢?

查看系統cpu的信息

cat /proc/cpuinfo中的信息

其中cpu cores即為cpu的核數

也可以用cat /proc/cpuinfo |grep "cores"|uniq直接查看

[root@test ~]# cat /proc/cpuinfo |grep "cores"|uniq cpu cores : 2

cpu的性能評估

利用vmstat命令監控cpu

vmstat 2 10 (每2秒監控一次 監控10次)

如何進行Linux性能分析和優化

procs

r表示運行和等待cpu時間片的進程數,這個值如果長期大于cpu的個數,則需要增加系統cpu

b表示等待資源的進程數

CPU

us列顯示了用戶進程消耗CPU時間百分比,us比較高的時候,說明用戶進程消耗cpu的時間多,如果長期大于50%,就需要優化程序和算法

sy列顯示了內核進程消耗的cpu時間百分比,sy值較高的時候,說明內核消耗的cpu資源很多

根據經驗,us+sy的參考值為80%,如果us+sy大于 80%說明可能存在CPU資源不足。

利用sar命令監控系統cpu

sar命令會增加系統開銷 但是影響不大

yum install sysstat安裝sar命令

sar -u 3 5(u顯示系統所有cpu在采樣時間內的負載狀態)圖片%user:用戶進程消耗cpu的時間百分比

如何進行Linux性能分析和優化

%nice:運行正常進程所消耗cpu的百分比

%system:系統消耗cpu時間百分比

%iowait:IO等待所占用cpu時間百分比

%steal:內存在相對緊張的環境下pagein強制對不同頁面進行的steal操作

%idle:cpu處在空閑時間的百分比

內存性能評估

利用free指令監控內存

free -m #查看以M為單位的內存使用情況

如何進行Linux性能分析和優化

一般有這樣一個經驗公式:

應用程序可用內存/系統物理內存>70%時,表示系統內存資源非常充足,不影響系統性能。

應用程序可用內存/系統物理內存<20%時,表示系統內存資源緊缺,需要增加系統內存。

20%<應用程序可用內存/系統物理內存<70%時,表示系統內存資源基本能滿足應用需求,暫時不影響系統性能。

利用vmstat監控內存

如何進行Linux性能分析和優化

swpd表示切換到內存交換去的內存數量(k),如果swpd的值不為0,或者比較大,但是si,so的值長期為0,這種情況不用擔心,不會影響性能

free表示空閑的物理內存數量

buffer表示buffers cache的內存數量,一般對設備的讀寫才需要緩沖

cache表示page  cached的內存數量。一般作為文件系統cached,頻繁訪問的文件都會被cached,如果cache值較大,說明cached的文件較多,如果此時IO中的bi比較小,說明文件系統效率比較好

si表示由磁盤調入內存,也就是內存進入內存交換區的數量

so表示由內存調入磁盤,也就是內存交換區進入內存的數量 一般情況下,so si的值都為0。如果si  so的值長期不為0,則表示系統內存不足,需要增加內存

磁盤IO性能評估

iostat

iostat -d 2 10

如何進行Linux性能分析和優化

Blk_reads/s  每秒讀取的數據塊數  Blk_wrtn/s   每秒寫入的數據塊數  Blk_read     讀取的所有塊數  Blk_wrtn     寫入的所有塊數

這幾個值沒有標準 如果長期都很大 肯定是不正常的

利用sar評估磁盤性能

sar -d 2 5

如何進行Linux性能分析和優化

await 平均每次設備I/O操作的等待時間(毫秒)

svctm 平均每次設備I/O操作的服務時間(毫秒)

%util 一秒中有百分之幾的時間用于I/O操作

評判標準

正常情況下svctm應該是小于await的,svctm的值和磁盤性能,cpu內存等都有關系

如果svctm的值和await的值相近表示幾乎沒有I/O等待,磁盤性能很好,如果await的值遠高于svctm,表示I/O隊列等待時間太長,系統上的應用程序將變慢,此時可以通過更換更快的硬盤來解決問題

%util越小越好,如果%util接近100%表示磁盤產生的I/O請求太多,I/O系統已經滿負載在工作,此時可以通過優化程序或者更換更快的磁盤來解決問題

網絡性能評估

通過ping命令檢測網絡的連通性。

通過netstat -i 組合檢測網絡接口狀況。

通過netstat -r 組合檢測系統路由表信息。

通過sar -n 組合顯示系統的網絡運行狀態(sar -n DEV 5 3)。

常用分析:

查看tcp連接數最多的ip:

sudo netstat -pant | grep ":22" | awk '{print $5}' | awk -F":" '{print $4}' |sort|uniq -c|sort -nr

解釋:

awk -F":" '{print $4}' 表示把結果的第4列用:號分割

sort -nr 排序,-n以數值大小排序,-r倒序,從大到小。

uniq -c 刪除重復的行,-c表示加上每行出現的次數。

netstat命令是一個監控TCP/IP網絡的非常有用的工具, 它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。

netstat -pant

參數-p :顯示正在使用Socket的程序識別碼和程序名稱;

參數-a :顯示所有連線中的Socket;

參數-n :直接使用ip地址,而不通過域名服務器;

參數-t :顯示TCP傳輸協議的連線狀況。

提取訪問nginx服務器最多的10個ip。

cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n10

關于如何進行Linux性能分析和優化問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卓尼县| 宜兰市| 新宾| 微山县| 墨竹工卡县| 遵化市| 焦作市| 西充县| 鲜城| 东兴市| 重庆市| 博客| 黔南| 文昌市| 鄂尔多斯市| 绍兴市| 宁明县| 合肥市| 宁蒗| 都昌县| 日喀则市| 溧阳市| 鹿邑县| 舒兰市| 郯城县| 伽师县| 北辰区| 古田县| 浠水县| 平罗县| 西林县| 谢通门县| 沙洋县| 陆河县| 福泉市| 岚皋县| 景洪市| 六枝特区| 连平县| 怀安县| 拉孜县|