日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

CentOS系统参数优化

發布時間:2024/4/13 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS系统参数优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CentOS是一款非常優秀的Linux系統,有很多可優化的參數,我這里介紹的只是非常少的一部分,這一部分對于數據庫系統,性能可能會有比較重要的影響,如果大家對其他的參數也感興趣的話,建議大家可以多多的看一看,講Linux優化的書籍,我們先來看一看內核相關的參數,通常可以在etc下的sysctl.conf這個文件中進行修改,也就是說,以下的內容,完全可以增加在sysctl.conf文件的末尾,我們可以看看網絡相關的參數,對于配置文件來說,服務器與客戶端之間,需要進行三次握手,來建立網絡的連接,當三次握手成功之后,我們可以通過netstat命令呢,把端口的狀態由監聽轉成可連接,接著就可以傳輸這種數據了,對于一個處于監聽狀態的接口呢,都會有對應的監聽隊列,這個參數呢就決定了每個端口監聽的隊列長度,這個參數的默認值呢,比較小,對于負載很大的服務器來說呢,一定是不夠的,一般會改成2048,或者更大的值,和這個參數類似的還有,下面兩個參數,其中backlog參數呢,決定在每個網絡接收數據包的速率,比內核處理快的時候,允許發送速率包的最大的數目,而另一個參數呢,還沒有獲得連接的請求,和保存在列中的最大的數目,對于超過這個大小的連接呢,很多會被拋棄,所以要調大一些,在上面的例子中呢,全部設成了65535,大家在實際工作中呢,根據你的需要調整網絡參數

現在大家看到的這個參數呢,用于控制TCP連接處理的這種等待狀態的時間,對于連接比較頻繁的系統,通常有大量的連接是處于等待連接狀態的,而這個參數呢,就用于減少這個狀態的,timeout的時間,加快TCP回收的速度,同樣對這個TCP連接會有影響的參數呢,還是有下面兩個,以上紅框中的三個參數呢,主要作用就是,用于加快TCP連接的回收,這在一個高負載的系統上是非常重要的,如果有大量的數據庫連接請求,而TCP連接又被占滿的話,就會出現數據庫無法連接的錯誤

再來看這四個參數,以上四個參數呢,決定了TCP連接,接收和發送,緩沖區的最大值和默認值,對于數據庫應用來說呢,應該要把這幾個值調整的相對要大一些

以上三個參數呢,用于減少失效的預約占用TCP的系統資源的數量,加快資源回收的效率,tcp_keepalive_time表示TCP發送keepalive探測時間的間隔,單位為秒,用于確認TCP連接是否有效,而tcp_keepalive_intvl用于探測消息未獲得響應時,重發該消息的時間間隔,單位同樣是秒,最后一個參數呢,表示在鑒定TCP連接失效之前,最多發送多少個keepalive的消息,這三個參數的默認值對于一個平常系統來說呢,都有一點大了,所以在這里分別,改的稍微小了一些,以上就是大多數CentOS對于網絡性能的相關參數,當然這里還有很多參數,這里沒有介紹到,如果大家有興趣的話

下面我們再來看內存相關的參數,首先這個參數呢,是Linux內核最重要的參數之一,用于定義單個共享內存端的最大值

這個參數應該設置的足夠大,以便能夠在一個共享內存段中呢,容納整個InnoDB的緩沖池的大小,這個參數如果設置的過低,可能需要產生多個共享內存段,這樣可能會導致系統的性能下降,而導致系統性能下降的主要原因呢,多個小的內存段呢,可能會導致當時的輕微的系統性能下降,但是其他時候呢不會有影響

這個值對于64位系統呢,可取的最大值為物理內存減去1比特,建議值為大于物理內存的一半,一般取值大于InnoDB緩沖池的大小即可,可以取物理內存減去1比特,這樣InnoDB的物理內存緩存大小呢,肯定會包含在單個文件中

下面這個參數,是4個G的大小,下面這個參數當內存不足時會對性能產生比較明顯的影響

要說這個呢,要說說Linux系統內存交換區的內容了,在Linux系統安裝時,會有一個特殊的磁盤分區,稱之為系統交換分區

如果我們使用free -m在系統中查看,可以看到下面的這些內容,swap就是交換分區

下面交換分區是做什么用的呢,當操作系統沒有足夠的內存時,就會將一些虛擬內存,寫到磁盤的交換區中,這樣就會發生內存交換

內存交換對數據庫服務器來說呢,是透明的,只有操作系統知道特定虛擬內存的地址,是物理內存還是在硬盤中,由于磁盤和內存又很大的差異,一旦發生內存交換呢,對MYSQL性能呢,就會有災難性影響,另外對于MYSQL是否需要使用交換分區呢,是有一些爭議的,有人認為呢,為了避免內存交換,對MYSQL性能的影響,所以有必要在MYSQL服務器,Linux系統上呢,完全禁用交換分區

但是這樣做同樣是有風險的,一方面會降低操作系統的性能,而另一方面如果MYSQL臨時需要一塊很大的內存,確實會造成內存的溢出,甚至奔潰,都會使MYSQL不可用

所以在MYSQL上保留交換分區還是很有必要的,但是我們也可以控制,何時來使用這個交換分區,我們下面看到這個參數呢,就是用于做這個控制的,把這個參數設置為0呢,就是告訴Linux系統,除非虛擬內存完全滿了,否則不要使用交換分區

除了內核參數以外呢,還有一些系統本身對特定資源的限制呢,進行服務器配置時呢,也要進行調整,對于限制呢主要通過,這個文件進行調整的,etc下的security的limit.conf,進行配置,這個文件實際上是Linux PAM也就是插入式認證模塊的配置文件,這里比較重要的呢,就是打開文件數的一個限制了

這個限制可以通過下面的參數來進行配置,以上兩個參數呢,用于控制打開文件的,數量的限制,把他們加到limit.conf文件末尾就可以了,其中*表示對所有用戶有效,soft是當前系統生效的設置,hard表示系統中所能設定的最大值,對于同一資源,soft不能比hard高,nofile表示所限制資源的最大數目,后面的65535呢,就是限制的一個數量,由于數據庫每一個表呢,對于另一個系統來說呢,都會對應到兩到三個文件,具體的文件數目呢,是受我們存儲引擎來決定的,而一個大的數據庫系統呢,通常來說存在很多的表,所以使用一個系統默認值呢,就顯得比較小了

所以我們把可打開的文件數量增加到了65535個,以保證可以打開足夠多的文件句柄,另外要注意的一點呢,這個文件的修改是需要重啟系統才可以生效的

前面介紹的呢,都是和網絡文件限制有關的配置,下面來看看對磁盤性能有關的配置,在Linux系統上,磁盤隊列調度,算法決定了快設備的請求,實際上是發送到底層設備的順序,默認情況下使用完全工程隊列,我們可以使用下面這個命令,來查看我們目前磁盤所使用的調度策略,如上所示呢,這個linux服務器呢,使用的就是cfq策略,這個策略用桌面級是沒有問題的,但是用于MYSQL的數據庫服務呢,就不太合適了,在MYSQL的工作負載下,cfq由于會在作業中插入一些不必要的請求,所以會導致很差的響應時間,除了cfq隊列外,還存在了幾種策略

包括NOOP,電梯式調度策略,NOOP實現了一個FIFO隊列,他想電梯工作方法一樣,對IO請求進行組織,當有一個新的請求到來時,它將請求合并到最近的請求之后,NOOP傾向于餓死讀,而利于寫,因此NOOP對于閃存設備,RAM,嵌入式系統是最好的選擇

截止時間調度策略呢,確保了在一個截止時間內服務的請求,這個截止時間是可以調整的,而默認讀期限小于寫期限,這樣就防止了寫操作,因為不能被讀操作而餓死的現象,Deadline是對數據庫是最好的一個選擇

最后一個就是預料IO調度策略,本質上和Deadline是一樣的,在最后一次讀操作后,等待大約6毫秒,才能進行其他的IO請求,進行調度,它會在每個6ms中插入新的操作,而會將一些小寫入流合并成一個大的寫入流,用寫入延遲來換取最大的寫入吞吐量,AS適合于寫入較多的環境,比如文件服務器的環境,AS對于數據庫環境表現就非常差了,我們可以通過下面的方法,來改變磁盤調度策略

如上面的命令就是把我們磁盤的默認調度策略呢,改成了deadline

?

總結

以上是生活随笔為你收集整理的CentOS系统参数优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。