主頁(yè) > 知識(shí)庫(kù) > Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)

Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)

熱門(mén)標(biāo)簽:AI電銷機(jī)器人 源碼 高德地圖標(biāo)注論壇 湖北ai智能電銷機(jī)器人 蘭州ai電銷機(jī)器人招商 江西外呼系統(tǒng) 北海市地圖標(biāo)注app 新科美甲店地圖標(biāo)注 新邵電銷機(jī)器人企業(yè) 外呼系統(tǒng)打哪顯哪

一、調(diào)優(yōu)的必要性

​ 一直不愿意寫(xiě)優(yōu)化的內(nèi)容出來(lái)分享,實(shí)在是不知道該如何取寫(xiě)。因?yàn)?,?xiě)不好就會(huì)被各種慰問(wèn),今天終于還是寫(xiě)了,因?yàn)橛刑嗳怂叫呕蛟谌豪飭?wèn)我或者讓給分享經(jīng)驗(yàn),我還是從了。

​ 在聊調(diào)優(yōu)之前,我們先要知道為何調(diào)優(yōu),業(yè)務(wù)運(yùn)行和調(diào)優(yōu)的關(guān)系。

  • 業(yè)務(wù)運(yùn)行:線上業(yè)務(wù)正常運(yùn)行,承載了公司業(yè)務(wù)。
  • 監(jiān)控業(yè)務(wù):通過(guò)監(jiān)控業(yè)務(wù)對(duì)線上業(yè)務(wù)進(jìn)行監(jiān)控,及時(shí)發(fā)現(xiàn)問(wèn)題。
  • 優(yōu)化業(yè)務(wù):通過(guò)監(jiān)控分析,發(fā)現(xiàn)業(yè)務(wù)問(wèn)題或者瓶頸,及時(shí)對(duì)業(yè)務(wù)或者軟件就行調(diào)整、優(yōu)化。
  • 測(cè)試優(yōu)化:優(yōu)化完成后,需要對(duì)現(xiàn)有的優(yōu)化進(jìn)行測(cè)試,保證業(yè)務(wù)在當(dāng)前優(yōu)化模式中穩(wěn)定、高效,能夠解決當(dāng)前問(wèn)題。

這就是業(yè)務(wù)運(yùn)行的一個(gè)流程,也是我們保證業(yè)務(wù)穩(wěn)定、高效、高可用的運(yùn)維之道。

二、調(diào)優(yōu)的維度和見(jiàn)解分歧

​ 調(diào)優(yōu)類的文章是最難寫(xiě)的,因?yàn)槲抑荒芨嬖V你調(diào)優(yōu)的選項(xiàng),無(wú)法告訴你具體的閾值,因?yàn)椴煌臉I(yè)務(wù)運(yùn)行在不同的機(jī)器,所消耗的資源是不同的;又因?yàn)閳?chǎng)景不同,對(duì)應(yīng)的調(diào)優(yōu)項(xiàng)及閾值是千變?nèi)f化的,就好比你和你上鋪的兄弟都是感冒了,去醫(yī)院看病開(kāi)的藥卻是截然不同的。正是如此,才會(huì)出現(xiàn)當(dāng)很多人看到調(diào)優(yōu)的文章,看到了具體的調(diào)優(yōu)項(xiàng)或者閾值就會(huì)浮現(xiàn)出兩個(gè)字,我不好意思說(shuō),配個(gè)圖吧!大家意會(huì)就好。

三、Nginx調(diào)優(yōu)

  •  nginx并發(fā)數(shù)
  • nginx進(jìn)程優(yōu)化
  • nginx壓縮
  • nginx本地緩存

1、nginx并發(fā)數(shù)設(shè)置

worker_processes 1;

這是用來(lái)配置nginx啟動(dòng)幾個(gè)工作進(jìn)程的,默認(rèn)為1。而nginx還支持一個(gè)名為worker_cpu_affinity的配置項(xiàng),也就是說(shuō),nginx可以為每個(gè)工作進(jìn)程綁定CPU。我做了如下配置:

 events {
    worker_connections 1024;
}

2、nginx將進(jìn)程綁定在固定核

worker_cpu_affinity 0010 0100 1000;

worker_processes 3;
worker_cpu_affinity 0010 0100 1000;
#這里0010 0100 1000是掩碼,分別代表第2、3、4顆cpu核心。

重啟nginx后,3個(gè)工作進(jìn)程就可以各自用各自的CPU了。

ps -eo psr,pid,arg 查看

nginx的并發(fā)=worker_processes*worker_connections

3、nginx 壓縮功能

壓縮功能對(duì)于WEB服務(wù)器來(lái)說(shuō)太重要了,主要體現(xiàn)在以下兩個(gè)方向:

​ 1)提升用戶體驗(yàn):傳輸數(shù)據(jù)變小,用戶等待時(shí)間變短。

​ 2)節(jié)省公司帶寬成本:壓縮后傳輸,傳輸數(shù)據(jù)變小,帶寬占用的更少。

既然能給用戶好的體驗(yàn),又能給公司省錢(qián)。這么好的事情何樂(lè)不為呢,所以這個(gè)是工作中必備配置神器。

但是配置壓縮需要更大家說(shuō)一下注意事項(xiàng):

​ 1)圖片、音視頻不要壓縮

​ 2)小于1K的不要壓縮,否則越壓越大

​ 3)壓縮級(jí)別越大,就越消耗CPU

未開(kāi)啟壓縮

開(kāi)啟壓縮

代碼如下:

gzip on;   (啟用 gzip 壓縮功能)

gzip_http_version 1.1; 它的默認(rèn)值是HTTP/1.1,就是說(shuō)對(duì)HTTP/1.1協(xié)議的請(qǐng)求才會(huì)進(jìn)行g(shù)zip壓縮

gzip_disable "MSIE [1-6].";設(shè)置是禁用IE1-6版本的gzip壓縮

gzip_proxied any; (nginx 做前端代理時(shí)啟用該選項(xiàng),表示無(wú)論后端服務(wù)器的headers頭返回什么信息,都無(wú)條件啟用壓縮)

gzip_min_length 1024; (最小壓縮的頁(yè)面,如果頁(yè)面過(guò)于小,可能會(huì)越壓越大,這里規(guī)定大于1K的頁(yè)面才啟用壓縮)

gzip_buffers   4 8k; (設(shè)置系統(tǒng)獲取幾個(gè)單位的緩存用于存儲(chǔ)gzip的壓縮結(jié)果數(shù)據(jù)流 按照原始數(shù)據(jù)大小以8K為單位申請(qǐng)4倍內(nèi)存空間)

gzip_comp_level 3; (壓縮級(jí)別,1壓縮比最小處理速度最快,9壓縮比最大但處理最慢,同時(shí)也最消耗CPU,一般設(shè)置為3就可以了)

gzip_types    text/plain text/css application/x-javascript application/javascript application/xml; (什么類型的頁(yè)面或文檔啟用壓縮)

開(kāi)啟壓縮驗(yàn)證

4、nginx 本地緩存功能

​ 瀏覽器緩存(Browser Caching) 是為了加速瀏覽并節(jié)約網(wǎng)絡(luò)資源,瀏覽器在用戶磁盤(pán)上對(duì)最近請(qǐng)求過(guò)的文檔進(jìn)行存儲(chǔ)。

​ 客戶端緩存和壓縮有本質(zhì)的區(qū)別,用戶第一次下載數(shù)據(jù)后會(huì)被保存在客戶本地硬盤(pán),下次在使用的時(shí)候,只要本地資源沒(méi)有過(guò)期,就直接從本地硬盤(pán)讀取了,速度最快,因?yàn)椴挥萌フ襑EB服務(wù)器拿數(shù)據(jù)了。同樣它優(yōu)化了用戶體驗(yàn)和節(jié)省了公司帶寬成本

需要注意的是:

​ 緩存一般緩存的是圖片、網(wǎng)站框架、音視頻等不常變化的數(shù)據(jù)。應(yīng)用最好的就是百度首頁(yè),大家有沒(méi)有發(fā)現(xiàn)有時(shí)候你沒(méi)網(wǎng)都能打開(kāi)百度首頁(yè)啊,那就是看的你本地緩存。

nginx本地緩存配置指令

nginx可以通過(guò) expires 指令來(lái)設(shè)置瀏覽器的Header

語(yǔ)法: expires [time|epoch|max|off]

默認(rèn)值: expires off

作用域: http, server, location

使用本指令可以控制HTTP應(yīng)答中的“Expires”和“Cache-Control”的頭標(biāo),(起到控制頁(yè)面緩存的作用)。
可以在time值中使用正數(shù)或負(fù)數(shù)。“Expires”頭標(biāo)的值將通過(guò)當(dāng)前系統(tǒng)時(shí)間加上您設(shè)定的 time 值來(lái)獲得。

epoch 指定“Expires”的值為 1 January, 1970, 00:00:01 GMT。
max 指定“Expires”的值為 31 December 2037 23:59:59 GMT,“Cache-Control”的值為10年。
-1 指定“Expires”的值為 服務(wù)器當(dāng)前時(shí)間 -1s,即永遠(yuǎn)過(guò)期

緩存案例

圖片緩存30天
location ~.*\.(jpg|png|jpeg)$
  {
 expires 30d;
 }

js css緩存一小時(shí)
location ~.*\.(js|css)?$
  {
 expires 1h;
 }

緩存驗(yàn)證

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:阿克蘇 黃石 大理 黔東 池州 自貢 海南 南陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)》,本文關(guān)鍵詞  Nginx,大,并發(fā),優(yōu)化,實(shí)戰(zhàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章