關於網路程式設計,stenvens先生的unp3自然是必讀的,而且在30章還介紹了各種server模型。但是這本書畢竟有點年代了(如果stenvens還在世該多好),有些想法免不了的會顯得陳舊,而且因為整本書面向unix,一些linux在網路方面的新特性沒有涉及(比如epoll,零拷貝等)。所以光看書是不夠的,必要的時候還得借助google。
下面我就把這段時間蒐集到的關於高效伺服器設計、編寫的一些資源彙總一下,方便跟我一樣需要的人
ps:所有資料都是基於linux/unix的(畢竟沒幾個人會用windows來寫server)
文章:1. the c10k problem : 傳統的unix多程序模型在客戶超過10k(即1萬)的時候會遇到什麼問題,以及解決方案。 英文原版
2. 搜狗實驗室關於c10k的介紹:關於如何用epoll解決c10k問題
3. scalable network programming:linux下高效能伺服器設計的聖經,媲美stenvens的unp
英文原版
翻譯版4. 如何編寫高效能伺服器:乙個網易的遊戲架構師寫的,很全面。
上篇下篇
5. epoll相關資料整理:linux下實現高效能伺服器的必備利器
6. linux中的零拷貝技術:linux核心如何避免資料在核心緩衝區於使用者緩衝區之間的拷貝從而減少cpu在傳輸資料時的計算量
上篇下篇
7. linux下高效能的系統呼叫:sendfile,splice,tee
8. sendfile函式詳解
9. sendfile() 原始碼:更好地理解sendfile是怎麼實現的。
楊健的blog:此人對伺服器設計、各種io模型很有研究
2. 那誰的技術部落格:花大力氣剖析了nginx和lighttpd的部分原始碼,膜拜。nginx和lighttpd都是運動epoll實現高併發的典型例項,有能力看看原始碼的話,能力會有質的提高。
如何編寫高效能的伺服器程式
在 high performence server architecture 中,作者提出了自己的觀點關於如何編寫高效能的伺服器程式。作者感興趣的地方不在於使用多執行緒之類的並行技術,作者認為處理請求的基礎設施決定了程式的效能。作者也坦言,他提出的觀點和方法並不是提高伺服器效能的唯一途徑。作者總結了...
高效能伺服器設計
原文 http blog.chinaunix.net u 5251 showart 236329.html 先後檢視了 haproxy l7sw 和lighttpd 的相關原始碼,無一例外,他們一致認為多路復用是效能最好的伺服器架構 事實也確實應該如此,程序的出現一方面就是為了儲存任務的執行上下文從...
高效能伺服器設計
先後檢視了haproxy l7sw 和lighttpd 的相關原始碼,無一例外,他們一致認為多路復用是效能最好的伺服器架構。事實也確實應該如此,程序的出現一方面就是為了儲存任務的執行上下文從而簡化應用程式設計,如果程式的邏輯結構不是很複雜,那麼用整個程序控制塊來儲存執行上下文未免有些大材小用,加上程...