讀書筆記 Web伺服器記憶體管理

2022-05-30 08:57:12 字數 536 閱讀 8156

近日讀郭欣同學的《構建高效能的web站點》。

記憶體分配策略的設計,是web伺服器併發處理能力的重要保證。web伺服器每時每刻都要處理成千上萬的http請求,記憶體堆疊的分配何複製次數變得異常頻繁。我們可以改善資料結構和演算法複雜度來適當減少資料複製時間,對於記憶體分配,很多web伺服器使用各自的策略來提高效率。

apache在執行時候使用的記憶體相當巨大,這主要歸罪於它的多程序模型。apache使用了基於記憶體池策略的記憶體管理方案,並將它抽象出來移入apr庫中作為通用記憶體管理模組。這種方案使得apache執行開始就一次性的申請大片記憶體空間作為記憶體池,這個避免了頻繁的記憶體分配和釋放,利於改善效能,另一方面,記憶體池的使用使得apache的記憶體管理更加安全。但還即使是記憶體池,apache就像脫著沉重身子的大個子,效能不夠優越。

單程序模型的lighttpd,記憶體使用量要少的多。同樣是單程序模型的nginx,記憶體使用量更少。ngnix對於記憶體方面的優秀表現,得益於它的記憶體分配策略。它可以使用多執行緒來處理請求,多執行緒之間可以共享記憶體資源。它還採取分階段的記憶體分配策略,按需分配,及時釋放,使得記憶體使用量保持在很小的範圍內。

高效能web伺服器 讀書筆記

高效能web伺服器 讀書筆記 程序 cpu能夠處理多個請求,在於作業系統通過多執行流體系設計使得多個任務可以輪流使用資源.多執行流的一般實現是程序,多程序的好處首先在於cpu時間的輪流使用,另外對於cpu計算和i o 磁碟和網路i o 操作進行了重疊 大多數程序的時間消耗在i o操作上.dma技術可...

http協議讀書筆記3 Web伺服器

一 web伺服器的實現 web伺服器邏輯實現了http協議和相關的tcp連線處理,管理著web資源,並負責提供web伺服器的管理功能。web伺服器邏輯和作業系統共同負責管理tcp連線。底層作業系統負責管理底層計算機系統的硬體細節,並提供tcp ip網路支援,負責裝載web資源的檔案系統以及控制當前計...

讀書筆記 iOS 記憶體管理

cocoa的記憶體管理 retain,release和autorelease.每個物件都維護乙個保留計數器。物件被建立時,其保留計數器值為1 物件被保留時,保留計數器值加1 物件被釋放時,保留計數器值減1 當保留計數器值歸0時,物件被銷毀。在銷毀物件時,首先呼叫物件的dealloc方法,然後 其占用...