apache伺服器中程序和執行緒的使用

2022-04-29 10:54:07 字數 1208 閱讀 5089

apache功能強大,應用十分廣泛。

為了使不同平台的apache都能得到優化,apache支援mpm模組。

linux/unix下的好的2個模組分別為prefork和worker。

最初設計unix的時候,並沒有執行緒這個概念,所以無論系統核心還是應用軟體,都不支援執行緒的應用。最小的作業單位是程序。

windows是乙個完全支援執行緒的作業系統。執行緒比程序更小,能提高系統效率,減少系統開支。

現在無論是linux還是freebsd,都在積極改進,在核心中加入執行緒的支援。

apache本身即支援執行緒也支援程序。它怎麼實現的呢?就是用mpm。

prefork模組:基於程序的web伺服器

預設配置段如下: 

startservers 5 

minspareservers 5 

maxspareservers 10 

maxclients 150 

maxrequestsperchild 0 

prefork的工作原理是,由主控制程序生成「startservers」個子程序,當空閒程序小於minspareservers時,系統生成乙個又乙個程序,直到程序數達到maxsparethreads;而maxclients設定允許的最大客戶連線數。每個子程序處理服務請求次數由maxrequestperchild定義。

預設的設定值為0,即響應無限此請求。 

worker模組:基於線程程的web伺服器

預設配置如下: 

startservers 2 

maxclients 150 

minsparethreads 25 

maxsparethreads 75 

threadsperchild 25 

maxrequestsperchild 0 

worker的工作原理是,由主控制程序生成「startservers」個子程序,每個子程序中包含固定的threadsperchild執行緒數,各個執行緒獨立地處理請求。同樣,為了不在請求到來時再生成執行緒,minsparethreads和maxsparethreads設定了最少和最多的空閒執行緒數;而maxclients設定允許的最大執行緒總數。如果現有子程序中的執行緒總數不能滿足負載,控制程序將派生新的子程序。每個子執行緒處理服務請求次數由maxrequestperchild定義。 預設的設定值為0,即響應無限此請求。

Apache伺服器部署多個程序

本文以xampp安裝的apache服務為例進行介紹 1 複製配置檔案目錄,複製乙個新的配置檔案目錄conf2,區別於原來的配置檔案目錄conf 2 修改conf2下的配置檔案httpd.conf 幾個關鍵的資料 區別於其他伺服器配置 新的監聽埠 listen 8080 新的伺服器根目錄 docume...

Apache伺服器部署多個程序

本文以xampp安裝的apache服務為例進行介紹 1 複製配置檔案目錄,複製乙個新的配置檔案目錄conf2,區別於原來的配置檔案目錄conf 2 修改conf2下的配置檔案httpd.conf 幾個關鍵的資料 區別於其他伺服器配置 新的監聽埠 listen 8080 新的伺服器根目錄 docume...

伺服器安裝apache伺服器

1.環境 centos7 2.鏈結伺服器 ssh username ip 3.安裝apache 4.設定apache在伺服器啟動時執行 5.在apache配置檔案中設定網域名稱 vi etc httpd conf httpd.conf,找到 servername 新增 網域名稱 80 儲存並退出。6...