×

減少服務(wù)器的請求能力

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-12 14:34:01

高性能網(wǎng)站請求量大應(yīng)該如何支撐?大體可以分為兩個(gè)方面。一方面是盡量減少對服務(wù)器的請求,另一方面是提高服務(wù)器的相應(yīng)能力。對于減少服務(wù)器的請求能力,小編這里列舉以下幾個(gè)方面,大家可以參考。

高性能網(wǎng)站請求量大應(yīng)該如何支撐?大體可以分為兩個(gè)方面。一方面是盡量減少對服務(wù)器的請求,另一方面是提高服務(wù)器的相應(yīng)能力。對于減少服務(wù)器的請求能力,小編這里列舉以下幾個(gè)方面,大家可以參考。
 
002UASMrzy7605pjKJv15&690.jpg
1:對于開發(fā)人員,盡量做到能夠合并css, 把多張背景圖片合并, 減少mysql查詢等。
 
2: 對于運(yùn)維人員, nginx的expires 設(shè)置,利用瀏覽器緩存等,減少查詢。
 
3: 利用第三方的cdn來響應(yīng)請求,以此來減少自身服務(wù)器的壓力。
 
4: 最終剩下的,不可避免的請求----服務(wù)器集群+負(fù)載均衡來支撐。
 
所以,來到第4步后,就不要再考慮減少請求這個(gè)方向了.而是思考如何更好的響應(yīng)高并發(fā)請求。那么這也是我們今天著重要講的。
 
對于Nginx來說,客戶來請求Nginx 來響應(yīng),怎么響應(yīng),無非是讀取mysql 或者是直接讀取磁盤上的index.html 等等。兩個(gè)方向,第一是要建socket 連接,第二是要打開文件。這就牽扯到兩個(gè)硬性的限制。第一,你的socket 連接能不能建那么多。你的內(nèi)存是不是足夠大,因?yàn)榻ocket 連接都要內(nèi)存維護(hù)著他們的信息的。你打開文件,操作系統(tǒng)允許不允許你一次打開那么多的文件。因?yàn)樵谀J(rèn)情況下一個(gè)進(jìn)程同時(shí)只能打開1024個(gè)文件。所以你想建立高并發(fā),高并發(fā)無非就是建立的socket 連接多,打開的文件多。只有你這兩個(gè)方面能承的住。當(dāng)然對你的網(wǎng)卡也是有要求的,起碼你的網(wǎng)卡能夠同時(shí)跑通那么多的流量。
 
知道了這兩個(gè)大的方向之后,我們排查問題就需要從這兩點(diǎn)入手。然后通過觀察系統(tǒng)的dmesg 和 nginx 的error.log 來逐步解決問題。其實(shí)在真實(shí)的生產(chǎn)環(huán)境里面,做東西都是哪里出錯(cuò)了,跟著錯(cuò)誤軌跡一點(diǎn)點(diǎn)去摸索的優(yōu)化的。沒有一個(gè)固定的路子說照著什么做就能達(dá)到多大的并發(fā)。
 
以上就是架構(gòu)一個(gè)高并發(fā) Nginx 服務(wù)器的大體思路和方案,希望對大家有所幫助。
 

 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading