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