背景

     在對(duì)啟動(dòng)了20個(gè)worker的nginx進(jìn)行壓力測(cè)試的時(shí)候發(fā)現(xiàn):如果把配置文件中event配置塊中的accept_mutex開(kāi)關(guān)打開(kāi)(1.11.3版本之前默認(rèn)開(kāi)),就會(huì)出現(xiàn)worker壓力不均,少量的worker的cpu利用率達(dá)到了98%,大部分的worker的壓力只有1%左右;如果把a(bǔ)ccept_mutex關(guān)掉,所有的worker的壓力差別就不大,而且QPS會(huì)有大幅提升;

 

分析過(guò)程

  1. nginx的 1(master)+N(worker) 多進(jìn)程模型:master在啟動(dòng)過(guò)程中負(fù)責(zé)讀取nginx.conf中配置的監(jiān)聽(tīng)端口,然后加入到一個(gè)cycle->listening數(shù)組中。

  2. init_cycle函數(shù)中會(huì)調(diào)用init_module函數(shù),init_module函數(shù)會(huì)調(diào)用所有注冊(cè)模塊的module_init函數(shù)完成相關(guān)模塊所需資源的申請(qǐng)以及其他一些工作;其中event模塊的module_init函數(shù)申請(qǐng)一塊共享內(nèi)存用于存儲(chǔ)accept_mutex鎖信息以及連接數(shù)信息

      延伸閱讀

      學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

      我想了解如何學(xué)習(xí)

      姓名:
      手機(jī):
      留言: