https://blog.csdn.net/u010922732/article/details/90404096
均需修改nginx的配置文件
vi /nginx/conf/nginx.conf
1、worker_processes 工作進程最大連接數
worker 進程數默認為 1 ,單進程最大連接數為1024
每個 worker 進程都是單線程的進程,它們會調用各個模塊以實現多種多樣的功能
如果這些模塊確認不會出現阻塞式的調用,那么有多少CPU內核就應該配置多少個進程
反之,如果有可能出現阻塞式調用,那么需要配置稍多一些的worker進程
例如:如果業務方面會致使用戶請求大量讀取本地磁盤上的靜態資源文件,而且服務器上的內存較小,以至于大部分的請求訪問靜態資源文件時,都必須讀取磁盤(磁頭的尋址是緩慢的),而不是內存中的磁盤緩存,那么磁盤 IO 調用可能會阻塞住 worker 進程少量時間,進而導致服務整體性能下降。
運行工作進程個數一般設置CPU的核心或者核心數x2
如果不了解CPU的核數,可以top命令后按1來看
實操
# 編輯ng的配置文件 > vi /usr/local/nginx/conf/nginx.conf > worker_processes 4; # 保存退出 # 重新加載ng配置文件 > /usr/local/nginx/sbin/nginx-s reload # 查看進程情況 >ps-aux|grepnginx|grep-vgrep
2、worker_cpu_affinity工作進程綁定CPU內核
假定每一個 worker 進程都是非常繁忙的,如果多個 worker 進程都在搶同一個 CPU,那么這就會出現 同步問題。
反之,如果每一個 worker 進程都獨享一個 CPU,就在 內核的調度 策略上實現了完全的 并發。
注意:worker_cpu_affinity 配置僅對 Linux 操作系統有效。
# 如:如果有`2`顆`CPU`內核,就可以進行如下配置 worker_processes 2; worker_cpu_affinity 10 01;
# 如:如果有`4`顆`CPU`內核,就可以進行如下配置 worker_processes 4; worker_cpu_affinity 1000 0100 0010 0001;
# 如:如果有`8`顆`CPU`內核,就可以進行如下配置 worker_processes 8; worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;
審核編輯:劉清
-
LINUX內核
+關注
關注
1文章
315瀏覽量
21557 -
Linux操作系統
+關注
關注
0文章
54瀏覽量
10984
原文標題:幾個 Nginx 性能優化方法
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論