最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

自編教材分享:第四章—系統(tǒng)配置優(yōu)化(二)

2023-09-11 20:37 作者:先進(jìn)編譯實驗室  | 我要投稿


系統(tǒng)性能優(yōu)化的目的就是在一定范圍內(nèi)使得系統(tǒng)中的各個資源的使用去向合理,并保持必要的平衡。系統(tǒng)的運行良好時的各類資源可以達(dá)到一個平衡的狀態(tài)。本期分享的是系統(tǒng)配置優(yōu)化第二部分。

文件系統(tǒng)

文件系統(tǒng)是操作系統(tǒng)與磁盤設(shè)備之間交互的一個橋梁,對磁盤的任何寫操作都要經(jīng)過文件系統(tǒng)然后才到磁盤。文件系統(tǒng)除了在磁盤上存儲和管理數(shù)據(jù),還負(fù)責(zé)保證數(shù)據(jù)的完整性。文件系統(tǒng)是管理磁盤的軟件系統(tǒng),它簡化了用戶對磁盤空間的使用方法,并降低了磁盤空間的使用難度,通過更加形象的方式將磁盤中的數(shù)據(jù)展示給用戶。本節(jié)從以下兩個部分討論:

  1. 配置檢查

  2. 參數(shù)調(diào)整

配置檢查

文件系統(tǒng)性能調(diào)優(yōu)時,需要檢查其靜態(tài)配置情況:如掛載的文件系統(tǒng)數(shù)量、文件系統(tǒng)記錄大小、是否啟用訪問時間戳、是否配置文件系統(tǒng)緩存、使用的文件系統(tǒng)版本是什么、文件系統(tǒng)是否有補丁等。

可以使用提到的vmstat、sar工具進(jìn)行查閱、配置。

Linux系統(tǒng)可以使用SystemTap動態(tài)跟蹤文件系統(tǒng)事件,其它一些用于調(diào)查文件系統(tǒng)性能以及刻畫使用情況的工具和監(jiān)控框架。

參數(shù)調(diào)整

文件系統(tǒng)也是有緩存的,為了讓文件系統(tǒng)有最大的性能,首要的事情就是分配足夠大的內(nèi)存,這個非常關(guān)鍵。

Linux上的ext2、ext3、ext4文件系統(tǒng)調(diào)整工具為tune2fs,而在掛載時指定多種選項有兩種方法:一種是手動的mount命令,另一種是啟動時的/boot/grub/menu.lst和/etc/fstab。

參數(shù)調(diào)整分為兩部分:

  1. 文件描述符調(diào)優(yōu)

  2. 內(nèi)核參數(shù)調(diào)優(yōu)

文件描述符調(diào)優(yōu)

文件描述符可以說是服務(wù)器程序的寶貴資源,大部分系統(tǒng)調(diào)用都是和文件描述符打交道的。而系統(tǒng)分配給應(yīng)用程序的文件描述符有限,所以關(guān)閉那些不再使用的文件描述符以釋放其所占的資源有利于提高性能。

使用ulimit命令查看用戶級的文件描述符數(shù):

使用ulimit命令將用戶級文件描述符限制設(shè)定為max-file-number。不過這種設(shè)置是臨時的,只在當(dāng)前的會話中有效。例: ulimit -SHn 512。

要想永久修改用戶級文件描述符數(shù)限制,可以在/etc/security/limits.conf文件中加入如下兩項,第一行是指硬限制,第二行是軟限制,這是兩種資源限制:

內(nèi)核參數(shù)調(diào)優(yōu)

幾乎所有的操作系統(tǒng)內(nèi)核模塊,包括內(nèi)核核心模塊和驅(qū)動程序都在/proc/sys文件系統(tǒng)下提供了某些配置文件,以供用戶調(diào)整模塊的屬性和行為。通常一個配置文件對應(yīng)一個內(nèi)核參數(shù),文件名就是參數(shù)的名字,文件的內(nèi)容是參數(shù)的值。

通過sysctl命令查看所有這些內(nèi)核參數(shù)

其中最重要的兩個參數(shù)如下:

1、/proc/sys/fs/file-max,系統(tǒng)級文件描述符限制。直接修改這個參數(shù)與上述最大文件描述符中討論的修改方法有相同的效果;

2、/proc/sys/fs/epoll/max_user_watches中的值是一個用戶能夠往epoll內(nèi)核事件表中注冊的事件的總量,epoll是Linux中I/O多路復(fù)用的一種機(jī)制,該值是指該用戶打開的所有epoll實例總共監(jiān)聽的事件數(shù)目。

磁盤

磁盤是速度較慢的存儲子系統(tǒng),通常會成為影響整個系統(tǒng)性能的瓶頸。若在高負(fù)載下磁盤成為了瓶頸,處理器會持續(xù)空閑以等待磁盤I/O結(jié)束。此時,及時發(fā)現(xiàn)并消除這些瓶頸很有可能會提升數(shù)倍的性能。本節(jié)仍分為以下兩個部分:

  1. 配置檢查

  2. 參數(shù)調(diào)整

配置檢查

如果磁盤讀寫的塊數(shù)很大,那么這可能就是磁盤瓶頸,否則,要查看系統(tǒng)是否使用了大量的網(wǎng)絡(luò)I/O。iostat磁盤的讀寫操作很頻繁。top查看系統(tǒng)是否在等待狀態(tài)上消耗了大量的時間。若系統(tǒng)強(qiáng)調(diào)了特定磁盤,查看等待請求被響應(yīng)所平均花費的毫秒數(shù),數(shù)值越高則磁盤超負(fù)荷越多,然后確定哪個應(yīng)用程序訪問了磁盤,最后查看并分析應(yīng)用程序訪問了哪些文件,并分析每個調(diào)用花費的時長。通過了解進(jìn)程訪問的文件,將其更均勻地分散于多個磁盤,或者將其遷移到更快的磁盤,就有可能提升該進(jìn)程的I/O性能。

查看系統(tǒng)硬盤信息和使用情況可以在超級管理員權(quán)限下使用命令fdisk或者命令df,也可以直接使用命令cat /proc/partitions進(jìn)行查看。也可以利用iostat、sar命令評估磁盤性能。此外也可以通過top命令確定系統(tǒng)是否受I/O限制。

當(dāng)確定是磁盤I/O問題時,需要分析出是哪個應(yīng)用程序引起了I/O磁盤問題,圖1給出了確定磁盤I/O使用原因的步驟。

圖1 確定磁盤I/O使用原因的步驟

參數(shù)調(diào)整

操作系統(tǒng)可調(diào)的硬盤參數(shù)包括I/O調(diào)度優(yōu)化、資源調(diào)度策略控制兩個大部分,主要是通過調(diào)整參數(shù)控制磁盤的I/O調(diào)度以達(dá)到優(yōu)化的目的。-c表示I/O優(yōu)先級,為1表示實時,為2表示盡力,為3表示空閑。-p表示運行任務(wù)的進(jìn)程id

linux中的ionice工具可以限制一個特定進(jìn)程的磁盤子系統(tǒng)使用率,ionice將磁盤I/O調(diào)度分為三類,實時、盡力、空閑。

示例:將進(jìn)程號為1623的進(jìn)程放入了空閑I/O調(diào)度級別:

上例適用于對讀寫被長時間允許的備份任務(wù),以盡量避免與生產(chǎn)負(fù)載產(chǎn)生沖突。

調(diào)度策略

現(xiàn)代操作系統(tǒng)提供了自定義的資源控制方式,可用于管理磁盤或文件系統(tǒng)的使用情況。Linux I/O調(diào)度器控制內(nèi)核提交讀寫請求給磁盤的方式,它介于通用塊層和塊設(shè)備驅(qū)動程序之間,用戶可以通過調(diào)整這個調(diào)度器來優(yōu)化系統(tǒng)性能通常有3個調(diào)度器可供選擇:

1、完全公平調(diào)度器(Completely Fair Scheduler,CFQ),它將由進(jìn)程提交的同步請求放到多個進(jìn)程隊列中,然后為每個隊列分配時間片以訪問磁盤,通常是Linux系統(tǒng)的默認(rèn)調(diào)度器;

2、noop是Linux內(nèi)核里最簡單的I/O調(diào)度器,基于先進(jìn)先出隊列算法;

3、deadline又稱截止時間調(diào)度器,它嘗試保證請求的開始服務(wù)時間。適當(dāng)?shù)母恼{(diào)度器有助于系統(tǒng)發(fā)揮最佳性能。

操作系統(tǒng)選擇I/O調(diào)度器策略的可調(diào)參數(shù)為/sys/block/sda/queue/scheduler。

網(wǎng)絡(luò)

Linux操作系統(tǒng)的服務(wù)器中同樣會遇到網(wǎng)絡(luò)問題,隨著計算節(jié)點規(guī)模的擴(kuò)大,網(wǎng)絡(luò)在性能方面扮演著越來越重要的角色,因網(wǎng)絡(luò)而生的糟糕性能常常備受指責(zé)。本節(jié)從配置檢查和參數(shù)調(diào)整兩方面展開討論,分析并對網(wǎng)絡(luò)性能進(jìn)行優(yōu)化。本節(jié)仍分為以下兩個部分:

  1. 配置檢查

  2. 參數(shù)調(diào)整

配置檢查

網(wǎng)絡(luò)性能調(diào)優(yōu)之前需要檢查的配置,如網(wǎng)絡(luò)可使用接口數(shù)量、當(dāng)前接口使用情況、接口的速度、是否使用鏈路聚合、設(shè)置驅(qū)動的參數(shù)、域名系統(tǒng)是否設(shè)置、是否有已知的可能性能問題等。

在Linux中,可以借助ifconfig 查看網(wǎng)絡(luò)接口信息,也可以使用netstat、sar命令查看系統(tǒng)網(wǎng)絡(luò)信息。例netstat命令可用于查看系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài)、路由表、接口統(tǒng)計等信息:

如果網(wǎng)絡(luò)流量接近網(wǎng)絡(luò)設(shè)備的容量,可能會造成網(wǎng)絡(luò)帶寬瓶頸。如果沒有網(wǎng)絡(luò)設(shè)備進(jìn)行網(wǎng)絡(luò)通信,那么內(nèi)核等待的可能是其它一些I/O設(shè)備。當(dāng)知道網(wǎng)絡(luò)發(fā)生了問題時,Linux提供了一組工具來確定哪些應(yīng)用程序涉及其中。圖2展示了調(diào)查分析網(wǎng)絡(luò)性能問題的步驟。

圖2 調(diào)查分析網(wǎng)絡(luò)性能問題的步驟

參數(shù)調(diào)整

如果認(rèn)為網(wǎng)絡(luò)子系統(tǒng)存在瓶頸,就要對網(wǎng)絡(luò)性能采取優(yōu)化措施,因為網(wǎng)絡(luò)問題可能會對其它子系統(tǒng)帶來影響。比如,當(dāng)數(shù)據(jù)包太小的時候,CPU使用率會受到明顯的影響;如果有過多數(shù)量的TCP連接,內(nèi)存使用會增加。為了提高網(wǎng)絡(luò)性能可以對網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整,本節(jié)介紹以下兩種調(diào)整方法:

  1. 服務(wù)器相關(guān)參數(shù)調(diào)優(yōu)

  2. TCP參數(shù)調(diào)優(yōu)

服務(wù)器相關(guān)參數(shù)調(diào)優(yōu)

可調(diào)參數(shù)可用sysctl命令查看和設(shè)置,并寫到/etc/sysctl.conf文件中。內(nèi)核中網(wǎng)絡(luò)模塊的相關(guān)參數(shù)都位于/proc/sys/net目錄下,其中和TCP/IP協(xié)議相關(guān)的參數(shù)主要位于以下三個子目錄中:core、ipv4和ipv6??梢哉{(diào)整其中的/proc/sys/net/core/ somaxconn、/proc/sys/net/ipv4/tcp_wmem等相關(guān)參數(shù)。

1、/proc/sys/net/ipv4/tcp_rmem,它包含3個值,分別指定一個socket讀緩沖區(qū)的最小值、默認(rèn)值和最大值。

2、/proc/sys/net/ipv4/tcp_wmem,它包含3個值,分別指定一個socket的TCP寫緩沖區(qū)的最小值、默認(rèn)值和最大值。

TCP參數(shù)調(diào)優(yōu)

在net目錄下有很多參數(shù),包括IP、Ethernet、路由和網(wǎng)絡(luò)接口參數(shù),一般常調(diào)試以下幾個參數(shù):

  1. 套接字和TCP緩沖

  2. TCP積壓隊列

  3. 設(shè)備積壓隊列

  4. TCP阻塞控制

  5. TCP選項

  6. 網(wǎng)絡(luò)接口


自編教材分享:第四章—系統(tǒng)配置優(yōu)化(二)的評論 (共 條)

分享到微博請遵守國家法律
镇巴县| 开远市| 云林县| 鹿泉市| 清徐县| 滨海县| 太保市| 隆子县| 晋中市| 怀仁县| 山阴县| 肇源县| 崇明县| 体育| 河曲县| 阜城县| 蒙城县| 沈丘县| 永济市| 栾川县| 东光县| 舒兰市| 万宁市| 高雄市| 同德县| 阿坝县| 来宾市| 德钦县| 讷河市| 迭部县| 宝应县| 玉环县| 固安县| 北海市| 沐川县| 五指山市| 读书| 晴隆县| 丽江市| 上犹县| 基隆市|