亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    nginx 配置優(yōu)化指令

    worker_processes

          worker_processes指令是用來(lái)設(shè)計(jì)Nginx進(jìn)程數(shù),官方默認(rèn)設(shè)為1,賦值太多了,將會(huì)對(duì)系統(tǒng)IO影響效率,降低Nginx服務(wù)器性能。但是為了讓多核CPU能夠更好的處理并行任務(wù),我們可以講該值設(shè)置大一些,最好這個(gè)值是機(jī)器CPU的倍數(shù),并不是越大越好。
      worker_cpu_affinity

      worker_cpu_affinity指令用來(lái)分配每個(gè)進(jìn)程的CPU的工作內(nèi)核 

       worker_processes 4 ; 四核開(kāi)啟了四個(gè)進(jìn)程 worker_cpu_affinity 0001 0010 0100 1000; //我們CPU 就是四核 就是四組值,0是不使用,1是使用。 這樣每一個(gè)進(jìn)程都有一個(gè) cpu內(nèi)核了。 {解析 四組二進(jìn)制值分別對(duì)應(yīng)著四個(gè)進(jìn)程,第一個(gè)進(jìn)程對(duì)應(yīng)的是0001 第二個(gè)進(jìn)程對(duì)應(yīng)的是0010,表示第二個(gè)進(jìn)程計(jì)算器內(nèi)核,第三個(gè)進(jìn)程對(duì)應(yīng)的是0100,表示第三個(gè)計(jì)算機(jī)內(nèi)核,第四個(gè)進(jìn)程對(duì)應(yīng)1000}  

      nginx 配置優(yōu)化指令

      send_timeout

      send_timeout  120s;

    用于設(shè)置nginx服務(wù)器響應(yīng)客戶端的超時(shí)時(shí)間,這個(gè)超時(shí)時(shí)間僅針對(duì)兩個(gè)客戶端和服務(wù)器之間建立連接后,某次活動(dòng)之間的時(shí)間。如果這個(gè)時(shí)間后客戶端沒(méi)有任何活動(dòng),nginx服務(wù)器將會(huì)關(guān)閉連接

      

      keepalive_timeout

      keepalive_timeout  160s

    指定客戶端連接保持的超時(shí)時(shí)間,該設(shè)置表示nginx服務(wù)器與客戶端保持活動(dòng)時(shí)間是60s,60s后服務(wù)器與客戶端斷開(kāi)連接

      client_header_buffer_size

      client_header_buffer_size  4k;

        設(shè)置nginx 服務(wù)器允許的客戶端請(qǐng)求頭部的緩沖區(qū)大小,默認(rèn)為1KB。此指令的賦值可以根據(jù)系統(tǒng)分頁(yè)大小來(lái)設(shè)置。分頁(yè)大小也可以用# getconf PAGESIZE”命令取得

    有過(guò)nginx服務(wù)器工作經(jīng)驗(yàn)的朋友可能會(huì)遇到nginx 服務(wù)器返回400錯(cuò)誤的情況,查找nginx服務(wù)器的400錯(cuò)誤原因比較困難,因?yàn)榇隋e(cuò)誤并不是每次都會(huì)出現(xiàn),出現(xiàn)錯(cuò)誤的時(shí)候,通常在瀏覽器和日志里也看不到任何有關(guān)提示信息。

    根據(jù)實(shí)際經(jīng)驗(yàn)來(lái)看,有很大一部分情況是客戶端的請(qǐng)求頭部過(guò)大造成的。請(qǐng)求頭部過(guò)大,通常是客戶端cookie中寫(xiě)入了較大的值引起的。于是適當(dāng)增大此指令的賦值,允許nginx服務(wù)器接收較大的請(qǐng)求頭部,可以改善服務(wù)器對(duì)客戶端

    的支持能力。一般將此指令設(shè)置為4KB.

      client_header_timeout

      client_header_timeout  20s;

      設(shè)置讀取客戶端請(qǐng)求頭數(shù)據(jù)的超時(shí)時(shí)間。此處值是15s,為經(jīng)驗(yàn)參考值,默認(rèn)是60s。

    如果超過(guò)這個(gè)時(shí)間,客戶端還沒(méi)有發(fā)送完整的header數(shù)據(jù),服務(wù)端將返回”Request timeout(408)”錯(cuò)誤,

       multi_accept

       配置nginx服務(wù)器時(shí)候經(jīng)可能多的接受客戶端的網(wǎng)絡(luò)連接請(qǐng)求,默認(rèn)off

    驅(qū)動(dòng)相關(guān)指定 

     

     use

    參數(shù)詳解:use指令用于指定Nginx服務(wù)器使用的事件驅(qū)動(dòng)模型

     worker_connections

    該指令用于設(shè)置Nginx服務(wù)器的每個(gè)工作進(jìn)程允許同時(shí)連接客戶端的最大數(shù)量,語(yǔ)法為

    worker_connections number;

    結(jié)合worker_processes 指令,我們可以計(jì)算出Nginx 服務(wù)器允許同時(shí)練級(jí)的客戶端最大數(shù)量 Client=worker_processes * worker_connections / 2 。

    在看一本書(shū)的過(guò)程中看到作者 在使用Nginx服務(wù)器的過(guò)程中遇到無(wú)法訪問(wèn)Nginx 服務(wù)器的情況。查看日志信息發(fā)現(xiàn)一直報(bào)如下錯(cuò)誤

    nginx 配置優(yōu)化指令

    他是怎么分析解決的呢: 

    根據(jù)報(bào)錯(cuò)信息,推測(cè)可能是Nginx 服務(wù)器的最大訪問(wèn)鏈接數(shù)量設(shè)置小了。此指令設(shè)置的就是Nginx服務(wù)器能接受的最大訪問(wèn)量,其中包括前端用戶鏈接也包括其他鏈接,這個(gè)值在理論上等于此指令的值與它允許開(kāi)啟的工作進(jìn)程最大數(shù)的乘積。 此指令一般為65535;

    worker_connections 65535;

    此指令的賦值與linux 操作系統(tǒng)中進(jìn)程可以打開(kāi) 的文件句柄數(shù)量有關(guān)系。按照以上設(shè)置修改了賦值以后,Nginx 服務(wù)器報(bào)如下錯(cuò)誤:

    nginx 配置優(yōu)化指令

    究其原因,在linux 系統(tǒng)中有一個(gè)系統(tǒng)指令open file resource limit ,它設(shè)置了進(jìn)程可以打開(kāi)的文件句柄數(shù)量,worker_connections 指令的賦值不能超過(guò) open file resource limit 的賦值可以使用以下的命令查看 linux 系統(tǒng)中 該指令的值

    #  cat  /proc/sys/fs/file-max 

    可以通過(guò)下面命令將open file resource limit 指令的值設(shè)為 2390251:

    # echo “2390251” > /proc/sys/fs/file-max;  sysctl -p

    這樣Nginx 的worker_connections 指令賦值65535 就沒(méi)問(wèn)題了

    worker_rlimit_sigpending 

    參數(shù)詳解:該指令用于設(shè)置linux 2.6.6-mm2 版本之后的 linux 平臺(tái)的事件信號(hào)隊(duì)列長(zhǎng)度上線。其語(yǔ)法結(jié)構(gòu)為

    worker_rlimit_sigpending  limit;

    注:limit 為linux 平臺(tái)事件信號(hào)隊(duì)列的長(zhǎng)度上限值。

    該指令主要影響事件驅(qū)動(dòng)模型中rtsig 模型可以保存的最大信號(hào)數(shù)。Nginx 服務(wù)器的每一個(gè)工作進(jìn)程有自己的事件信號(hào)隊(duì)列用于存儲(chǔ)客戶端請(qǐng)求發(fā)生的信號(hào),如果超過(guò)長(zhǎng)度上限,nginx 服務(wù)器自動(dòng)轉(zhuǎn)用poll 模型處理未處理的客戶端請(qǐng)求,為了保證Nginx 服務(wù)器對(duì)客戶端請(qǐng)求的高效處理,請(qǐng)大家根據(jù)實(shí)際的客戶端并發(fā)請(qǐng)求數(shù)量和服務(wù)器運(yùn)行環(huán)境能力設(shè)定該值,設(shè)置示范

    worker_rlimit_sifpending 1024;

    devpoll_changes 和 devpoll_events 

    參數(shù)詳解:這兩個(gè)指令用于設(shè)置在 /dev/poll 事件驅(qū)動(dòng)模式下,Nginx服務(wù)器可以與內(nèi)核之間傳遞事件的數(shù)量,前者設(shè)置傳遞給內(nèi)核的事件數(shù)量,后者設(shè)置從內(nèi)核獲取的事件數(shù)量,語(yǔ)法結(jié)構(gòu)為:

    devpoll_changes number;

    devpoll_events number;

    注:number 為要設(shè)置的數(shù)量,默認(rèn)值為32.

    kqueue_changes 和 kqueue_events 

    參數(shù)詳解:這兩個(gè)指令用于設(shè)置在kqueue 時(shí)間驅(qū)動(dòng)模式下,Nginx 服務(wù)器可以與內(nèi)核之間傳遞事件的數(shù)量,前者設(shè)置傳遞給內(nèi)核的事件數(shù)量,后者設(shè)置從內(nèi)核獲取的事件數(shù)量,其語(yǔ)法結(jié)構(gòu)為:

    kqueue_changes number;

    kqueue_events number;

    注:number 為要設(shè)置的數(shù)量,默認(rèn)值均為512。

    epoll_events 

    參數(shù)詳解:該指令用于設(shè)置在epoll 事件驅(qū)動(dòng)模式下Nginx 服務(wù)器可以與內(nèi)核之間傳遞事件的數(shù)量,與其他事件驅(qū)動(dòng)模型不同,在epoll事件驅(qū)動(dòng)模式下Nginx 服務(wù)器向內(nèi)核傳遞事件的數(shù)量和從內(nèi)核傳遞事件數(shù)量是相等得。因此沒(méi)有類似epoll_changes 這樣的指令,默認(rèn)值為512.

     epoll_events 512;

       rtsig_signo

      該指令用于設(shè)置rtsig模式使用兩個(gè)信號(hào)中的第一個(gè),

      rtsig_signo signo

    rtsig_overfloe_* number

      用于代表三個(gè)具體的指令 分別是:rtsig_overflow_events  rtsig_overflow_test

    rtsig_over_thresold

      rtsig_overflow_events:指定對(duì)壘米處時(shí)使用poll庫(kù)處理的事件數(shù)

    rtsig_overflow_test: 指定poll庫(kù)處理地幾件事見(jiàn)后將清空rtsig模型使用的信號(hào)隊(duì)列,默認(rèn)32

    rtsig_over_thresold: 指定rtsig模式使用的信號(hào)隊(duì)列中的時(shí)間超過(guò)多少時(shí)就清空隊(duì)列

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)