国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

Apache 性能最優化分析(13)

2024-08-27 18:26:01
字體:
來源:轉載
供稿:網友
附錄:預分支(Pre-Forking)模型

  Unix上的Apache是應用了預分支模型的服務器。父進程的責任僅在于繁衍子進程,它從不響應來自socket的任何請求。真正處理連接的是子進程,每個子進程在終止之前會(逐一地)為多個連接服務。父進程根據服務器負載的變化(通過監視記分板,記分板由子進程負責保持同步)生成新的或者殺掉舊的子進程。

  這種模型為服務器提供了其他模型所不具備的健壯。父進程的代碼非常簡單,它有足夠的信心保證在不出現錯誤的情況下持續運行。子進程就很復雜了,而且當您加入了第三方提供的模塊后,將冒segmentation fault和其他崩潰的危險。即便這樣的事情發生了,也只會影響到一個連接。父進程將繼續為請求服務,并迅速替換掉已經死亡的子進程。

  預分支在不同的Unix之間有良好的可移植性。Apache向來將它作為重要的目標之一,并且將保持下去。

  但預分支模型由于各種各樣的性能問題而飽受批判。主要的因素是分支進程帶來的負擔、上下文切換帶來的負擔和多個進程為內存帶來的負擔。另外它不能為請求提供有效的緩存機制(比如mmap文件池)。另有一些模型。JAWS project的論文對它們進行了詳細的分析。實際上,所有這些模型帶來的性能損失在不同操作系統上的差別迥異。

  Apache的內核代碼已經支持多線程。NT上的Apache 1.3就是多線程的。至少有另外兩種實驗性的多線程Apache:一個基于1.3內核并運行在DCE上;另一個基于1.0內核,它使用了一套自定義的用戶級線程庫。它們都不是對公眾發行的。有一個已經發行了的Apache實驗版本:運行于Netscape運行時可移植(Portable Run Time)平臺上的1.3版,可以在此下載(如果您準備使用它的話,歡迎您加入new-httpd郵件列表)。被重新設計的Apache2.0將包含抽象化的服務器模型,它使我們可以既支持預分支模型,又支持多種線程模型。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平乐县| 三门县| 边坝县| 图们市| 平舆县| 休宁县| 云安县| 鹿邑县| 清徐县| 许昌市| 金昌市| 开封市| 阳信县| 湖北省| 交口县| 湄潭县| 祁东县| 馆陶县| 噶尔县| 湖南省| 喀什市| 蓝山县| 彭山县| 乌鲁木齐市| 张家口市| 从江县| 武陟县| 澎湖县| 响水县| 陆丰市| 黄梅县| 长丰县| 昔阳县| 海口市| 衡阳县| 西丰县| 沈丘县| 阳新县| 兴安县| 北流市| 榕江县|