總結:20個 Linux 伺服器效能調校技巧

Linux是一種開源作業系統,它支援各種硬體平台,Linux伺服器全球知名,它和Windows之間最主要的差異在於,Linux伺服器預設一般不提供GUI(圖形使用者介面),而是指令行介面,它的主要目的是高效處理非互動式進程,回應時間並不是那麼重要,相反,能夠長時間處理高負載才是最關鍵的。
Linux高可用伺服器叢集解決方案讓IT系統管理員可以從容應對許多常見的硬體和軟體故障,允許多台電腦一起工作,為關鍵服務正常運作提供保障,系統管理員可以不中斷服務執行維護和升級。
Linux伺服器有各種用途,如Web伺服器或分公司內部伺服器,CMS或CRS伺服器,檔案伺服器(為Windows和/或Linux使用者服務),VoIP電話伺服器,郵件或網域伺服器,資料庫伺服器,雲端運算配置中的基礎架構節點等。
Linux功能豐富、強大、靈活,你可以用它完成各種任務,在這篇文章中,我們將討論一些提高Linux伺服器效能的技巧。
在選擇檔案系統後,有一些核心和掛載選項可能會影響到它的性能表現,其中一個核心設定是電梯演算法,透過調整電梯演算法,系統可以平衡低延遲需求,收集足夠的數據,以有效地組織對磁碟的讀取和寫入請求。
一般說來,Linux伺服器是不需要GUI的,所有管理任務都可以在命令列下完成,因此最好關掉GUI,重定向X顯示或透過一個Web瀏覽器介面顯示。為了停用GUI,「init level(啟動等級)」應該被設定為3(命令列登入),而不是5(圖形登入),如果需要GUI,可以隨時執行startx進入圖形使用者介面。
在伺服器軟體包中有太多被啟動的功能或模組實際上是不需要的(如Apache中的許多功能模組),仔細查看Apache配置文件,確定FrontPage支援或其它額外的模組是否真的要用到,如果不需要,應該毫不猶豫地從伺服器禁用掉,這樣有助於提高系統內存可用量,騰出更多資源給那些真正需要的軟體,讓它們運作得更快。
#在Linux中,有許多流行的控制面板,如Cpanel,Plesk,Webmin和phpMyAdmin等,相信每個Linux初級用戶都很喜歡這些控制面板,但是,禁用掉這些軟體包可以釋放出大約120MB內存,因此,我強烈建議禁用掉這些控制面板,除非它們真的需要用到,它們可以通過PHP腳本(儘管有些不安全),或命令行命令啟用,這樣做後,內存使用量大約可以下降30 -40%。
#有許多種方法可以改善伺服器的Exim效能,其中一個辦法是使用DNS快取守護進程,它可以降低解析DNS記錄所需的頻寬和CPU時間,DNS快取透過消除每次都從根節點開始查找DNS記錄的需求,從而改善網路效能,Djbdns是一個非常強大的DNS伺服器,它具有DNS快取功能,Djbdns比BIND DNS伺服器更安全,效能更好,可以直接透過http://cr.yp.to/下載,或透過Red Hat提供的軟體包取得。
為了提高備份檔案或敏感資訊的安全,許多Linux系統管理員都會使用gpg進行加密,在使用gpg時,最好指定gpg使用AES256加密演算法,AES256使用256位元金鑰,它是一個開放的加密演算法,美國國家安全局(NSA)都使用它來保護絕密訊息,沒有什麼比它更安全的了。
為了順利和成功運行企業應用程序,如資料庫伺服器,可能需要更新一些預設的核心參數設置,例如,2.4.x系列核心訊息隊列參數msgmni有一個預設值(例如,共享內存,或shmmax在Red Hat系統上預設只有33554432位元組),它只允許有限的資料庫並發連接,下面為資料庫伺服器更好地運行提供了一些建議值(來自IBM DB2支援網站):
kernel.shmmax=268435456 (32位元) kernel.shmmax=1073741824 (64位元) kernel.msgmni=1024 fs.file-maxnel=8192 kernel. sem=”250 32000 32 1024″
優化TCP協定有助於提高網路吞吐量,跨廣域網路的通訊使用的頻寬越大,延遲時間越長時,建議使用越大的TCP Linux大小,以提高資料傳輸速率,TCP Linux大小決定了發送主機在沒有收到資料傳輸確認時,可以向接收主機發送多少資料。
#使用ext4檔案系統取代ext3
Ext4是ext3檔案系統的增強版,擴充了儲存限制
它具有日誌功能,保證高水準的資料完整性(在非正常關閉事件中)
##在非正常關閉和重新啟動時,它不需要檢查磁碟(這是一個非常耗時的動作)
#更快的寫入速度,ext4日誌最佳化了硬碟磁頭動作
12
#Linux限制了任何進程可以開啟的檔案描述符數量,預設限制是每進程1024,這些限制可能會阻礙基準測試客戶端(如httperf和apachebench)和Web伺服器本身獲得最佳效能,Apache每個連線使用一個進程,因此不會受到影響,但單進程Web伺服器,如Zeus是每連線使用一個檔案描述符,因此很容易受預設限制的影響。
開啟檔案限制是一個可以用ulimit指令調整的限制,ulimit -aS指令顯示目前的限制,ulimit -aH指令顯示硬限制(在未調整/proc中的核心參數前,你不能增加限制)。
Linux第三方應用程式效能技巧
#對於運行在Linux上的第三方應用程序,一樣有許多效能最佳化技巧,這些技巧可以幫助你提升Linux伺服器的效能,降低運作成本。
為了給MySQL分配更多的內存,可設定MySQL快取大小,如果MySQL伺服器實例使用了更多內存,就減少快取大小,如果MySQL在請求增加時停滯不前,就增加MySQL快取。
#提高系統效率最好的方法是找出導致整體速度下降的瓶頸並解決掉,以下是找出系統關鍵瓶頸的一些基本技巧:
#● 當大型應用程序,如OpenOffice和Firefox同時運行時,計算機可能會開始變慢,記憶體不足的出現幾率更高。
● 如果啟動時真的很慢,可能是應用程式初次啟動需要較長的載入時間,一旦啟動好後運行就正常了,否則很可能是硬碟太慢了。另外搜尋公眾號程式設計師小樂後台回覆“賺錢”,取得一份驚喜禮包。
●CPU負載持續很高,記憶體也夠用,但CPU利用率很低,可以使用CPU負載分析工具監控負載時間。
##使用幾個指令就可以管理Linux系統的效能了,以下列出了5個最常用的Linux效能指令,包括top、vmstat、iostat、free和sar,它們有助於系統管理員快速解決效能問題。
01 top
Top指令不僅顯示了目前核心服務的任務,也顯示了許多關於主機狀態的統計數據,預設情況下,它每隔5秒自動更新一次顯示的資料(這個時間間隔是可以配置的),透過top指令,我們可以得知幾個結果,如:目前正常運行時間,系統負載,進程數和記憶體使用率,此外,這個命令也顯示了那些使用最多CPU時間的進程(包括每個進程的各種信息,如運行用戶,執行的命令等)。
02 vmstat
Vmstat指令提供目前CPU、IO、進程和記憶體使用率的快照,它和top指令類似,自動更新數據,如:
###############$$ 10################################################################################## ##
03 iostat
#Iostat指令(在Ubuntu,Red Hat/Fedora上包含在sysstat軟體包中)提供三個報告:CPU利用率、設備利用率和網路檔案系統利用率,不加任何參數運行時,iostat將顯示這三個報告,使用-c,-d和-h參數可以分別獨立顯示這三個報告。
04 free
#Free指令顯示主記憶體和交換空間的記憶體統計數據,指定-t參數可以顯示總記憶體數量,指定-b參數可以以位元組為單位顯示,使用-m則以兆為單位顯示,預設是以千位元組為單位的。
Free指令也可以使用-s參數加一個延遲時間(單位:秒)連續運行,如:
$ free -s 5
05 sar
#Sar指令收集,檢視和記錄效能數據,這個指令比前面幾個指令歷史更悠久,它可以收集和顯示較長週期的數據。
其它
下面是一些被歸類為其它的效能技巧:
當一台機器處於運行時,最好是將系統日誌放在記憶體中,當系統關閉時再將其複製到硬碟,當你運行一台開啟了syslog功能的筆記型電腦或行動裝置時,ramlog可以幫助你提高系統電池或行動裝置隨身碟的壽命,使用ramlog的一個好處是,不用再擔心某個守護程序每隔30秒向syslog發送一則訊息,放在以前,硬碟必須隨時保持運轉,這樣對硬碟和電池都不好。
在記憶體中劃分出固定大小的空間保存日誌文件,這意味著筆記型電腦硬碟不用一直保持運轉,只有當某個守護進程需要寫入日誌時才運轉,注意ramlog使用的記憶體空間大小是固定的,否則系統記憶體會很快被用光,如果筆記本使用固態硬碟,可以分配50-80MB記憶體給ramlog使用,ramlog可以減少許多寫入週期,大大提高固態硬碟的使用壽命。
#盡可能使用靜態內容取代動態內容,如果你在產生天氣預告,或其它每隔1小時就必須更新的數據,最好是寫一個程序,每隔1小時產生一個靜態的文件,而不是讓用戶運行一個CGI動態地產生報告。
為動態應用程式選擇最快、最合適的API,CGI可能最容易編程,但它會為每個請求產生一個進程,通常,這是一個成本很高,且不必要的過程, FastCGI是更好的選擇,就像Apache的mod_perl一樣,都可以大幅提升應用程式的效能。
以上是總結:20個 Linux 伺服器效能調校技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

Docker鏡像構建失敗的故障排除步驟:檢查Dockerfile語法和依賴項版本。檢查構建上下文中是否包含所需源代碼和依賴項。查看構建日誌以獲取錯誤詳細信息。使用--target選項構建分層階段以識別失敗點。確保使用最新版本的Docker引擎。使用--t [image-name]:debug模式構建鏡像以調試問題。檢查磁盤空間並確保足夠。禁用SELinux以防止干擾構建過程。向社區平台尋求幫助,提供Dockerfile和構建日誌描述以獲得更具體的建議。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)
