nginx高并發(fā)優(yōu)化配置

nginx高并發(fā)優(yōu)化配置

ID:8960118

大?。?4.95 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2018-04-13

nginx高并發(fā)優(yōu)化配置_第1頁(yè)
nginx高并發(fā)優(yōu)化配置_第2頁(yè)
nginx高并發(fā)優(yōu)化配置_第3頁(yè)
nginx高并發(fā)優(yōu)化配置_第4頁(yè)
nginx高并發(fā)優(yōu)化配置_第5頁(yè)
資源描述:

《nginx高并發(fā)優(yōu)化配置》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、一、一般來(lái)說(shuō)nginx配置文件中對(duì)優(yōu)化比較有作用的為以下幾項(xiàng):1.?worker_processes8;nginx進(jìn)程數(shù),建議按照cpu數(shù)目來(lái)指定,一般為它的倍數(shù)(如,2個(gè)四核的cpu計(jì)為8)。2.?worker_cpu_affinity0000000100000010000001000000100000010000001000000100000010000000;為每個(gè)進(jìn)程分配cpu,上例中將8個(gè)進(jìn)程分配到8個(gè)cpu,當(dāng)然可以寫(xiě)多個(gè),或者將一個(gè)進(jìn)程分配到多個(gè)cpu。3.??worker_rlimit_nofile65535;這個(gè)指令是指當(dāng)一個(gè)ngin

2、x進(jìn)程打開(kāi)的最多文件描述符數(shù)目,理論值應(yīng)該是最多打開(kāi)文件數(shù)(ulimit-n)與nginx進(jìn)程數(shù)相除,但是nginx分配請(qǐng)求并不是那么均勻,所以最好與ulimit-n的值保持一致。現(xiàn)在在linux2.6內(nèi)核下開(kāi)啟文件打開(kāi)數(shù)為65535,worker_rlimit_nofile就相應(yīng)應(yīng)該填寫(xiě)65535。這是因?yàn)閚ginx調(diào)度時(shí)分配請(qǐng)求到進(jìn)程并不是那么的均衡,所以假如填寫(xiě)10240,總并發(fā)量達(dá)到3-4萬(wàn)時(shí)就有進(jìn)程可能超過(guò)10240了,這時(shí)會(huì)返回502錯(cuò)誤。查看linux系統(tǒng)文件描述符的方法:[root@web001~]#sysctl-a

3、grepfs.fi

4、lefs.file-max=789972fs.file-nr=51007899724.??useepoll;使用epoll的I/O模型(補(bǔ)充說(shuō)明:與apache相類(lèi),nginx針對(duì)不同的操作系統(tǒng),有不同的事件模型?????A)標(biāo)準(zhǔn)事件模型?????Select、poll屬于標(biāo)準(zhǔn)事件模型,如果當(dāng)前系統(tǒng)不存在更有效的方法,nginx會(huì)選擇select或poll?????B)高效事件模型??Kqueue:使用于FreeBSD4.1+,OpenBSD2.9+,NetBSD2.0和MacOSX.使用雙處理器的MacOSX系統(tǒng)使用kqueue可能會(huì)造成內(nèi)核崩潰。E

5、poll:?使用于Linux內(nèi)核2.6版本及以后的系統(tǒng)。/dev/poll:使用于Solaris711/99+,HP/UX11.22+(eventport),IRIX6.5.15+和Tru64UNIX5.1A+。???????Eventport:使用于Solaris10.為了防止出現(xiàn)內(nèi)核崩潰的問(wèn)題,有必要安裝安全補(bǔ)丁。)5.??worker_connections65535;每個(gè)進(jìn)程允許的最多連接數(shù),理論上每臺(tái)nginx服務(wù)器的最大連接數(shù)為worker_processes*worker_connections。6.??keepalive_timeout

6、60;keepalive超時(shí)時(shí)間。7.??client_header_buffer_size4k;客戶(hù)端請(qǐng)求頭部的緩沖區(qū)大小,這個(gè)可以根據(jù)你的系統(tǒng)分頁(yè)大小來(lái)設(shè)置,一般一個(gè)請(qǐng)求頭的大小不會(huì)超過(guò)1k,不過(guò)由于一般系統(tǒng)分頁(yè)都要大于1k,所以這里設(shè)置為分頁(yè)大小。?分頁(yè)大小可以用命令getconfPAGESIZE?取得。[root@web001~]#getconfPAGESIZE?4096但也有client_header_buffer_size超過(guò)4k的情況,但是client_header_buffer_size該值必須設(shè)置為“系統(tǒng)分頁(yè)大小”的整倍數(shù)。8.??o

7、pen_file_cachemax=65535inactive=60s;這個(gè)將為打開(kāi)文件指定緩存,默認(rèn)是沒(méi)有啟用的,max指定緩存數(shù)量,建議和打開(kāi)文件數(shù)一致,inactive是指經(jīng)過(guò)多長(zhǎng)時(shí)間文件沒(méi)被請(qǐng)求后刪除緩存。9.??open_file_cache_valid80s;這個(gè)是指多長(zhǎng)時(shí)間檢查一次緩存的有效信息。10.??open_file_cache_min_uses1;open_file_cache指令中的inactive參數(shù)時(shí)間內(nèi)文件的最少使用次數(shù),如果超過(guò)這個(gè)數(shù)字,文件描述符一直是在緩存中打開(kāi)的,如上例,如果有一個(gè)文件在inactive時(shí)間內(nèi)一次

8、沒(méi)被使用,它將被移除。二、關(guān)于內(nèi)核參數(shù)的優(yōu)化:net.ipv4.tcp_max_tw_buckets=6000timewait的數(shù)量,默認(rèn)是180000。net.ipv4.ip_local_port_range=102465000允許系統(tǒng)打開(kāi)的端口范圍。net.ipv4.tcp_tw_recycle=1啟用timewait快速回收。net.ipv4.tcp_tw_reuse=1開(kāi)啟重用。允許將TIME-WAITsockets重新用于新的TCP連接。net.ipv4.tcp_syncookies=1開(kāi)啟SYNCookies,當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟

9、用cookies來(lái)處理。net.core.somaxconn=262144web應(yīng)用中l(wèi)ist

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。