CentOS6.5下Nginx載入多個CPU核心

來源:互聯網
上載者:User


配置Nginx多核CPU,worker_cpu_affinity使用方法和範例
1. 2核CPU,開啟2個進程

worker_processes 2;
worker_cpu_affinity 01 10;

01表示啟用第一個CPU核心,10表示啟用第二個CPU核心
worker_cpu_affinity 01 10;表示開啟兩個進程,第一個進程對應著第一個CPU核心,第二個進程對應著第二個CPU核心。
2. 2核CPU,開啟4個進程

worker_processes 4;
worker_cpu_affinity 01 10 01 10;

開啟了四個進程,它們分別對應著開啟2個CPU核心
3. 4核CPU,開4個進程

worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
0001表示啟用第一個CPU核心,0010表示啟用第二個CPU核心,依此類推
4. 4核CPU,開啟2個進程

worker_processes 2;
worker_cpu_affinity 0101 1010;
0101表示開啟第一個和第三個核心,1010表示開啟第二個和第四個核心
2個進程對應著四個核心
worker_cpu_affinity配置是寫在/etc/nginx/nginx.conf裡面的。
2核是 01,四核是0001,8核是00000001,有多少個核,就有幾位元,1表示該核心開啟,0表示該核心關閉。

5. 8核CPU,開8個進程

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
0001表示啟用第一個CPU核心,0010表示啟用第二個CPU核心,依此類推

worker_processes最多開啟8個,8個以上效能提升不會再提升了,而且穩定性變得更低,所以8個進程夠用了。
配置完畢後,重啟nginx ,執行/etc/init.d/nginx restart
測試nginx是否有用到多個CPU核心 ,在另一台機器上執行ab.exe -c 1000 -n 1000 http://www.domain.com/index.php
ab.exe是裝apache後帶的一個效能測試工具,它可以類比多用戶端的並發請求。
在伺服器上執行top,然後按1,就可以看到CPU核心的工作情況。如果多個CPU核心的利用率都相差不多,證明nginx己經成功的利用了多核CPU。
測試結束後,CPU核心的負載應該都同時降低。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.