原创 libev庫的用法

轉自http://www.yeolar.com/note/2012/12/16/libev/libev是一個高性能的事件循環庫,比libevent庫的性能要好,是基於epoll模型的封裝。Nodejs就是採用它作爲底層庫。libev的官方文

原创 服務器開發中的---驚羣現象

“據說”驚羣問題已經是一個很古老的問題了,並且在大多數系統中已經得到有效解決,但對我來說,仍舊是一個比較新的概念,因此有必要記錄一下。什麼是驚羣        舉一個很簡單的例子,當你往一羣鴿子中間扔一塊食物,雖然最終只有一個鴿子搶到食物,

原创 我的友情鏈接

51CTO博客開發

原创 Epoll模型詳解

轉自http://blog.163.com/huchengsz@126/blog/static/73483745201181824629285/ Linux 2.6內核中提高網絡I/O性能的新方法-epoll I/O多路複用技術在比較多的T

原创 Apache與Nginx的優缺點比較

1、nginx相對於apache的優點: 輕量級,同樣起web 服務,比apache佔用更少的內存及資源 抗併發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高性能 高度模塊化的

原创 基於線程池,封裝的TCP服務器框架

線程池請見上一遍blog,且說下如何使用此框架。環境:Ubuntu 12.04 g++ 4.6.3解壓附件AdvServer.zip到linux機器上的目錄,然後解壓,進入到AdvServer/src,用戶可直接修改main.cc然後mak

原创 nginx中鎖的設計以及驚羣的處理

nginx中使用的鎖是自己來實現的,這裏鎖的實現分爲兩種情況,一種是支持原子操作的情況,也就是由NGX_HAVE_ATOMIC_OPS這個宏來進行控制的,一種是不支持原子操作,這是是使用文件鎖來實現。 首先我們要知道在用戶空間進程間鎖實現的

原创 nagle算法發現的問題200ms延遲問題

TCP/IP協議中,無論發送多少數據,總是要在數據前面加上協議頭,同時,對方接收到數據,也需要發送ACK表示確認。爲了儘可能的利用網絡帶寬,TCP總是希望儘可能的發送足夠大的數據。(一個連接會設置MSS參數,因此,TCP/IP希望每次都能夠

原创 linux下C 線程池的原理講解和代碼實現(能自行伸縮擴展線程數)

什麼線程池,爲什麼要使用線程池?下面是一個比喻。階段一、一個醫院,每天面對成千上萬的病人,處理方式是:來一個病人找來一個醫生處理,處理完了醫生也走了。當看病時間較短的時候,醫生來去的時間,顯得尤爲費時了。階段二、醫院引進了線程池的概念。設置

原创 Apache與Nginx的優缺點比較

1、nginx相對於apache的優點: 輕量級,同樣起web 服務,比apache佔用更少的內存及資源 抗併發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高性能 高度模塊化的

原创 mysql大數據優化要注意的細節

值得學習的東西,轉載~1、對查詢進行優化、應儘量避免全表掃描、首先應考慮在 where 及 order by 涉及的列上建立索引。2、應儘量避免在 where 子句中對字段進行 null 值判斷、否則將導致引擎放棄使用索引而進行全表掃描、如

原创 libev庫的用法

轉自http://www.yeolar.com/note/2012/12/16/libev/libev是一個高性能的事件循環庫,比libevent庫的性能要好,是基於epoll模型的封裝。Nodejs就是採用它作爲底層庫。libev的官方文

原创 linux下線程池,出現Segmentation fault (core dumped) 問題

GDB調試段錯誤,可以有效快速定位到出錯該行。1、讓系統在信號中斷造成的錯誤時產生core文件修改core文件大小,需要su權限:#查看core文件設置ulimit -a#設置core大小爲無限ulimit -c unlimited#設置文

原创 數據庫事務和防數據庫注入

數據庫事務(Database Transaction) ,是指作爲單個邏輯工作單元執行的一系列操作,要麼完整地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作

原创 2013-11-5 深圳尚遊網絡公司 - 服務器開發工程師

今日下午去面試這個公司,依稀記得幾個很有意思題目,也算是考察個人思考邏輯能力。下面分享幾個還算有意思的題目。1、有17根等長木棍,每根長度爲11.1,現在切成等量的兩種木棍,以下簡稱A木棍和B木棍。A木棍長1,B木棍長0.7 求問:最多能