《Disney +》 迪士尼、Marvel、彼思、星球大戰…  歷經34年再度復活!紅白機名作ARPG「月風魔傳」將推出續作「月風魔傳:不朽之月」!   歡迎 Housemarque 加入 PlayStation Studios 的大家庭   《SteelRising》創新玩轉動作類型遊戲   走路、成長、採收!《Pikmin Bloom》遊戲玩法介紹影片大公開!   EPOS推出全方位密閉式有限電競耳麥「H3」!   快速補充能量!日本產能量飲品Kiiva發表首款款果凍飲料「KiiVA SPEED CHARGE」!   熱門優惠活動襲捲PlayStation Store   完整再現肉感大腿…!萊莎2與DOAXVV聯動!「ライザコーデガチャ・2021」活動開跑!! 

Apache2 prefork 幾個參數設定 說明

商業

Apache2 的 MPM 設定有 prefork、worker 的模式,現在新版還有 event 模式,此篇的參數雖然寫 prefork,不過 worker 的設定值也大同小異~

註:此篇只看 prefork

Apache2 prefork 幾個參數設定 說明

Apache 的 MPM 設定檔

  • /etc/apache2/mods-available/mpm_prefork.conf
  • /etc/apache2/mods-available/mpm_worker.conf
  • /etc/apache2/mods-available/mpm_event.conf
  • 實際打開看,會發現設定檔都差不多,worker 主要是多 Thread 的設定

先只看 prefork 的設定(取自 設定檔 的說明):

  • prefork MPM
    • StartServers: number of server processes to start
    • MinSpareServers: minimum number of server processes which are kept spare
    • MaxSpareServers: maximum number of server processes which are kept spare
    • MaxRequestWorkers: maximum number of server processes allowed to start
    • MaxConnectionsPerChild: maximum number of requests a server process serves

由上述說明和一般設定的值看都蠻容易懂的,只是會發現 MaxConnectionsPerChild 一直都是設定為 0,這個參數到底設定有什麼意義呢?

此篇有將設定做些白話的整理:有關 Apache HTTP Server 系統限制與設定的討論,下述整理自此篇:


StartServers 5 # apache 啟動執行時的 process 數,也就是可同時處理的 request 數
MinSpareServers 5
MaxSpareServers 10
ServerLimit 150 # ServerLimit 的設定值 應「大於等於」下面的 MaxClients
MaxClients 150 # 官方的定義就是「最大可同時處理的 connection 數」
MaxRequestsPerChild 10000 # 一個「Apache sever」在處理該數目後,會自動中止並重啟,以防 memory leakage

MaxRequestsPerChild 上述的說明的『一個「Apache sever」』應該要說是 「一個 Apache process」

因為 Apache prefork、worker 等等,啟動後都會啟動不少 Process,依照上述設定,最少會啟動 5個程序(process)。

而這些 Process 一直長期跑下來,難免會遇到 Memory leak 或者某些沒處理好的情況,此參數就是設定 Process 服務到某個數量後,就將此 Process 重啟(不是整個 Apache 重啟),畢竟,重 開治百病.. XD

Tsung

隨機商業新聞

Gearbest 購物平台