伺服器調優原理

2022-08-28 00:06:16 字數 974 閱讀 4340

動態優先順序:  核心自動檢測占用cpu時間的程序,自動調整程序的優先順序 

手動優先順序調整:調整nice值,但是核心也會再動態調整這些手動調整優先順序高的程序

cpu排程佇列

0-139個優先順序佇列

核心從優先順序由高到低挨個掃瞄佇列,

排程策略:先到先得,輪流,完全公平(cfs),

核心排程實時程序:先到先出 或者 輪流   

排程使用者級別的程序:完全公平

記憶體的刷寫時間

記憶體檢視的時間

釋放已使用記憶體頁以及釋放slab小檔案系統

硬碟中的資料是做成檔案系統,掛載後訪問。每乙個檔案在訪問時需要更新訪問時間戳,當非常頻繁的被訪問時關閉訪問時間戳有助於io的提公升

當剛剛接進來的鏈結,需要分析一些值如誰來請求的,要請求到誰,我們又怎麼知道一共有多少個請求。所以需要在記憶體中使用特定記憶體資料結構來維持每個請求,這就是核心需要建立套接字檔案,核心將這個檔案請求內容轉交給使用者空間的某乙個程序,這個程序處理完請求後還要講結果轉交給核心,核心還需要重新封裝報文,返還給請求者。完成追蹤就是靠這個文套接字檔案維持。

為了公平,單個程序所能開啟的最大的檔案描述符是有上限的,訪問量高的web服務或者**伺服器,就需要最大化所能開啟的檔案描述符的數量。

核心的接受緩衝:http請求在被核心轉交到使用者空間之前需要維持在核心記憶體中儲存。

內個程序也有自己的接受緩衝區。當調整某乙個程式的最大併發後,如果到達上限,再來的請求就需要核心開闢乙個記憶體來維持一段時間,這就叫後援佇列。

tcp握手,等待發起一方第三次握手,此時需要在記憶體中保持這個會話。大量的這個請求會導致佇列耗盡,正常連線無法連線,拒絕服務。適當調短這個請求

tcp斷開,一般來講是客戶端發起斷開,但是在保持連線時伺服器設定超時時間,超時後伺服器發起斷開。 

當乙個連線來了,需要申請記憶體儲存這些連線,當連線斷開了,要釋放這些記憶體,大量的操作也會占用系統資源,所以我們可以考慮不釋放,重用這些檔案。來減少記憶體的分配和**,提公升網路io效能。

10 伺服器調優

前章講到tomcat apache伺服器的整合,提高伺服器的訪問效率,tomcat負責jsp的訪問,apache負責對靜態檔案 html 其他資源的訪問。1 apache jk tomcat整合 2 負載均衡 3 容量計畫 1.1 apache整合tomcat apache和tomcat的整合有三種...

nginx伺服器調優

為了滿足併發要求,本次對某個介面進行壓測,目標是併發1200 實際可以達到1600 rt 1s以內 nginx tomcat集群 1 剛開始啟動200執行緒,30秒,沒有任何問題,響應時間也正常 2 將持續時間調整到300秒後,執行到一定時間就會報錯,並且後續請求都是錯誤 3 通過檢視error日誌...

Nginx Nginx伺服器配置調優

1 nginx伺服器配置調優 5 設定nginx全域性引數 vi usr local nginx conf nginx.conf 編輯 worker processes 2 工作程序數,為cpu的核心數或者兩倍 events 以下 在http 部分增加與修改 server names hash bu...