nginx優化CPU配置worker_cpu_affinity
阿新 • • 發佈:2018-02-11
ask inux sse 掩碼 cpu 可選 開啟 內核 ebs nginx默認是沒有開啟利用多核cpu的配置的。需要通過增加worker_cpu_affinity配置參數來充分利用多核cpu,cpu是任務處理,當計算最費時的資源的時候,cpu核使用上的越多,性能就越好。
查了下官網,配置nginx多核cpu,worker_cpu_affinity使用方法和範例:
句法: worker_cpu_affinity cpumask ...;
worker_cpu_affinity auto [cpumask];
默認: -
語境: main
將工作進程綁定到一組CPU。每個CPU集合由允許的CPU的位掩碼表示。應該為每個工作進程定義一個單獨的集合。默認情況下,工作進程不綁定到任何特定的CPU。
例如,
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
綁定每個工作進程到一個單獨的CPU,而
worker_processes 2;
worker_cpu_affinity 0101 1010;
將第一個工作進程綁定到CPU0 / CPU2,將第二個工作進程綁定到CPU1 / CPU3。
第二個例子適用於超線程。
特殊值auto(1.9.10)允許將工作進程自動綁定到可用的CPU:
worker_processes auto;
worker_cpu_affinity auto;
可選的掩碼參數可用於限制可用於自動綁定的CPU:
worker_cpu_affinity auto 01010101;
該指令僅在FreeBSD和Linux上可用。
配置完之後可以重啟nginx,用ab工具或者wrk工具,可以進行性能測試,在服務器上執行top,然後按1,就可以看到cpu工作情況,如果多個cpu內核的利用率差不多,就證明nginx已經成功利用了多核cpu,測試結束後,cpu內核的負載都同時降低
nginx優化CPU配置worker_cpu_affinity