工作記錄之nginx配置

在網路上讀了不少文章後稍微整理了一下做法,實作出來後用 Blitz 跑雲端Benchmark測試,結果Hit rate 每秒96個,一天下來大約可以收八百多萬個hit rate,感覺還不錯 …

我想可能是因為我的後端用的不是unicorn_rails而是puma的緣故,不過速度上真的很令人滿意

先說主機規格,主機規格是Linode 2048,系統是Ubuntu 11.10 64bit

首先,先去編輯 /etc/security/limits.conf,加下面那行:

* – nofile 65535

然後編輯 /etc/nginx/nginx.conf 添加或者修改

worker_processes 8;

worker_rlimit_nofile 65535;

worker_cpu_affinity 0001 1000 0010 0100 1000 0100 0001 0010;

 

event {

  worker_connections 8192;

  use epoll;

}

設定檔的解釋部分:

  • worker_processes – 表示將啓用幾個執行續去接收requests,這邊要嘛4要不然就是8,不要高也不要低也不要奇怪的數字
  • worker_rlimit_nofile – 這邊跟我們一開始設定的nofile數字一樣
  • worker_cpu_affinity – 這邊表示我們可以讓nginx針對不同的process來決定採用CPU的哪個核心,這個部分留待之後另開專欄解釋
  • worker_connections – 這邊的設定會影響最大用戶端的數量,公式是:max clients = work_processes * work_connections

大致上前台這樣配置後,後台用concurrent的Web Server (像是Node.js或者是puma) 就會跑得飛快囉!

About HeChien

I'm a Ruby and iPhone application developer.
This entry was posted in 尚未分類 and tagged . Bookmark the permalink.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s