1. 程式人生 > >Linux kernel 效能優化(一)之優化簡介

Linux kernel 效能優化(一)之優化簡介

效能優化就是找到系統的瓶頸並且消除瓶頸的過程。許多管理員以為效能優化就像在百度上搜個菜譜然後按步驟改引數就能解決問題了,其實不然,效能優化是在OS的不同子系統中不斷調整以至於達到平衡的過程。這些子系統包括: CPU, 記憶體,IO,網路。這些子系統是高度彼此依賴,而其中任何一個如果被過度使用的話就會影響到其他。譬如說:
•大量的頁內IO請求會佔滿記憶體佇列
•乙太網控制器上Gigabit的吞吐量可能會消耗掉一個CPU
•一個CPU可能在維護記憶體佇列時被消耗掉
•大量從記憶體中的磁碟寫操作可能會消耗掉一個CPU和IO通道
為了優化一個系統,必須找到瓶頸位置。雖然一個子系統可能看起來是導致問題的原因,但很有可能這是因為另一個子系統已經超負荷運轉了。

1.1 確認應用型別

為了理解從何處開始找到優化瓶頸,首先重要的是分析理解系統的行為模式。任何系統的應用通常都可以分成以下兩種型別:
• IO 消耗型
—— 一個IO消耗型的應用需要使用大量的記憶體和潛在的儲存系統。這個是由於IO消耗型的應用會處理大量資料。一個IO消耗型的應用不會要求使用大量CPU或網路。通常它們都用CPU做出一個IO請求然後就進入休眠模式。資料庫的應用通常被認為是IO消耗型應用。