<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                MPM: Multi Processing Modules,多處理模塊 ### httpd >[success]httpd(prefork,worker),多進程模型,多路復用IO httpd(event),多線程模型,信號驅動IO ### 共同特點 在httpd啟動之初,實現創建一些進程和線程,可以減少頻繁創建和銷毀進程的開銷。 ### prefork (一個請求用一個進程響應) * 優點:適合處理并發比較小的情況,進程出問題不會相互影響,因此 穩定性好; * 缺點:進程占用的更多的系統資源和內存,因此對于并發比較大的情況難以適用;--> httpd 2.1 ![](http://i4.buimg.com/567571/74c25663c0bf9627.png) ~~~ <IfModule prefork.c> StartServers 8 #httpd啟動時啟動的進程數 MinSpareServers 5 #最小空閑進程數 MaxSpareServers 20 #最大空閑進程數 ServerLimit 256 #MaxClients的上限,若需調整ServerLimit,先要stop httpd,在調整ServerLimit,start httpd MaxClients 256 #啟動進程的上限 MaxRequestsPerChild 4000 # 一個進程生命周期內響應進程數目上限 </IfModule> ~~~ ### worker (一個請求用一個線程響應, 啟動多個進程,每個進程生成多個線程thread) * 優點:線程通常會共享父進程的內存空間,因此,內存的占用會減少一些。 * 缺點:進程出問題會影響其下的線程;多個線程共享同一個進程的資源,但同時寫一個資源會造成資源競爭,因此要對文件加鎖,可能效果比不上prefork ![](http://i4.buimg.com/567571/d9b0c5aae081146e.png) ~~~ <IfModule worker.c> StartServers 4 #httpd啟動時啟動的進程數量 MinSpareThreads 25 #最小空閑線worker進程數 MaxSpareThreads 75 #最大空閑線worker進程數 ThreadsPerChild 25 #一個進程產生的線程數 MaxRequestWorkers 400 #最大工作進程數 MaxConnectionsPerChild 0 #一個進程生命周期內響應進程數目上限 </IfModule> ~~~ ### event (一個進程處理多個請求) --> httpd 2.4 * 和worker模型很像。不同的是解決了keepalive帶來的資源占用。 * 專門的線程來管理這些keep-alive類型的線程,當有真實請求過來的時候,將請求傳遞給服務線程,執行完畢后,釋放服務線程。 ![](http://i2.muimg.com/567571/516b66de8a7ea0a7.png) ~~~ <IfModule event.c> StartServers 3 #httpd啟動時啟動的進程數量 MinSpareThreads 75 #最小空閑worker線程數 MaxSpareThreads 250 #最大空閑worker線程數 ThreadsPerChild 25 #一個進程產生的線程數 MaxRequestWorkers 400 #最大工作進程數 MaxConnectionsPerChild 0 #一個進程生命周期內響應進程數目上限 </IfModule> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看