AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

單服務器高性能模式:PPC與TPC

來源: 責編: 時間:2024-04-12 09:05:20 200觀看
導讀高性能是每位程序員的追求。無論我們設計系統還是編寫代碼,都渴望達到最佳性能。但實現高性能是極為復雜的,因為諸如磁盤、操作系統、CPU、內存、緩存、網絡、編程語言和架構等因素都可能影響系統性能。一個不當的 debu

高性能是每位程序員的追求。無論我們設計系統還是編寫代碼,都渴望達到最佳性能。但實現高性能是極為復雜的,因為諸如磁盤、操作系統、CPU、內存、緩存、網絡、編程語言和架構等因素都可能影響系統性能。一個不當的 debug 日志,甚至可能將服務器的性能從每秒處理 30000 個事務降低到 8000 個;一個 tcp_nodelay 參數的設置,可能將響應時間從 2 毫秒延長到 40 毫秒。因此,實現高性能是一項極具挑戰性的任務。軟件系統開發的不同階段都會對最終的性能產生影響。s0228資訊網——每日最新資訊28at.com

站在架構師的角度,特別關注高性能架構的設計是至關重要的。高性能架構設計主要集中在兩個方面:s0228資訊網——每日最新資訊28at.com

  1. 盡量提升單個服務器的性能,將其性能發揮到極致。
  2. 如果單服務器無法滿足性能需求,則設計服務器集群方案。

除了上述兩點,系統最終能否實現高性能還與具體的實現和編碼有關。但架構設計是實現高性能的基礎。如果架構設計不能達到高性能要求,那么后續的實現和編碼優化也只能在有限的空間內發揮作用??梢孕蜗蟮卣f,架構設計決定了系統性能的上限,而實現細節則決定了系統性能的下限。s0228資訊網——每日最新資訊28at.com

實現單服務器高性能的關鍵之一是選擇合適的并發模型。并發模型涉及以下兩個關鍵設計點:s0228資訊網——每日最新資訊28at.com

  1. 服務器如何管理連接。
  2. 服務器如何處理請求。

這兩個設計點最終都與操作系統的 I/O 模型和進程模型相關。常見的 I/O 模型包括阻塞、非阻塞、同步和異步;而進程模型可以是單進程、多進程或多線程。s0228資訊網——每日最新資訊28at.com

PPC

PPC,即 Process Per Connection,意味著每次有新連接時就會創建一個新的進程來專門處理該連接的請求。這是傳統 UNIX 網絡服務器常采用的模型。s0228資訊網——每日最新資訊28at.com

圖片圖片s0228資訊網——每日最新資訊28at.com

在這種模式下,父進程負責接受連接,并在接受到連接后通過“fork”創建一個子進程來處理連接的讀寫請求。子進程處理完請求后關閉連接。需要注意的是,在“fork”創建子進程后,父進程直接調用 close,看起來好像是關閉了連接,但實際上只是減少了連接的文件描述符引用計數。真正的關閉連接是在子進程調用 close 后,連接的文件描述符引用計數變為 0,操作系統才會真正關閉連接。s0228資訊網——每日最新資訊28at.com

PPC 模式實現簡單,適用于連接數不多的情況,比如數據庫服務器。在互聯網興起之前,對于普通的業務服務器,由于訪問量和并發量相對較低,這種模式運作良好。世界上第一個 web 服務器 CERN httpd 就采用了這種模式。s0228資訊網——每日最新資訊28at.com

然而,隨著互聯網的發展,服務器的并發和訪問量激增,PPC 模式的弊端也顯現出來:s0228資訊網——每日最新資訊28at.com

fork 代價高:創建一個進程的代價很高,需要分配大量內核資源,將內存映像從父進程復制到子進程。即使現在的操作系統采用了 Copy on Write 技術,總體上創建進程的代價仍然較高。s0228資訊網——每日最新資訊28at.com

父子進程通信復雜:父進程“fork”子進程后,父子進程之間通信復雜,需要采用 IPC 進程通信方案。例如,子進程需要在關閉連接之前告知父進程處理了多少個請求,以支持父進程進行全局統計。s0228資訊網——每日最新資訊28at.com

并發連接數量有限:如果每個連接存活時間較長且新連接不斷進來,進程數量會不斷增加,導致操作系統進程調度和切換頻繁,系統壓力增大。因此,一般情況下,PPC 方案最多能處理的并發連接數量只有幾百個。s0228資訊網——每日最新資訊28at.com

TPC

TPC,即 Thread Per Connection,意味著每次有新連接時都會創建一個新線程專門處理該連接的請求。相比進程,線程更輕量級,創建線程的開銷更小;同時,線程共享進程內存空間,線程間通信相對簡單。因此,TPC 實際上是解決了或者減輕了 PPC 中 fork 代價高和父子進程通信復雜的問題。s0228資訊網——每日最新資訊28at.com

圖片圖片s0228資訊網——每日最新資訊28at.com

在TPC模式下,父進程負責接受連接,然后創建子線程來處理連接的讀寫請求,最后子線程關閉連接。與 PPC 不同的是,主進程無需手動關閉連接,因為子線程共享主進程的進程空間,連接的文件描述符沒有被復制,只需一次 close 即可。s0228資訊網——每日最新資訊28at.com

盡管TPC解決了 fork 代價高和進程通信復雜的問題,但也帶來了新的挑戰:s0228資訊網——每日最新資訊28at.com

創建線程雖然比創建進程代價低,但在高并發情況下(如每秒上萬連接),仍存在性能問題。s0228資訊網——每日最新資訊28at.com

雖然無需進程間通信,但線程間的互斥和共享帶來了復雜性,容易導致死鎖問題。s0228資訊網——每日最新資訊28at.com

多線程會出現互相影響的情況,某個線程異??赡軐е抡麄€進程退出(如內存越界)。s0228資訊網——每日最新資訊28at.com

除了引入新的問題,TPC 仍然面臨 CPU 線程調度和切換的代價。因此,在并發連接幾百個的場景下,更傾向于使用 PPC,因為它沒有死鎖風險,也不會受多進程相互影響,具有更高的穩定性。s0228資訊網——每日最新資訊28at.com

prethread

TPC模式中,只有在連接進來時才創建新的線程來處理連接請求。盡管創建線程比創建進程更輕量級,但仍然存在一定的代價。為了解決這個問題,出現了prethread模式。s0228資訊網——每日最新資訊28at.com

圖片圖片s0228資訊網——每日最新資訊28at.com

類似于prefork,prethread模式會預先創建線程,然后開始接受用戶請求。這樣,當新連接進來時,就無需再創建線程,從而提升用戶感知的速度和體驗。s0228資訊網——每日最新資訊28at.com

由于多線程之間數據共享和通信更方便,prethread的實現方式比prefork更靈活。常見的實現方式包括:s0228資訊網——每日最新資訊28at.com

主進程accept連接,然后將連接交給某個線程處理。s0228資訊網——每日最新資訊28at.com

多個子線程嘗試accept連接,只有一個線程accept成功。s0228資訊網——每日最新資訊28at.com

Apache服務器的MPM worker模式本質上就是一種prethread方案,但進行了改進。Apache首先創建多個進程,每個進程再創建多個線程。這樣做的主要考慮是為了提高穩定性,即使某個子進程的某個線程異常退出,仍會有其他子進程繼續提供服務,不會導致整個服務器崩潰。s0228資訊網——每日最新資訊28at.com

prethread理論上可以支持比prefork更多的并發連接。例如,Apache服務器的MPM worker模式默認支持400個并發處理線程(16個進程 × 25個線程)。s0228資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-83109-0.html單服務器高性能模式:PPC與TPC

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python性能監控利器:執行時間計算的終極指南

下一篇: 127.0.0.1 和 localhost 之間到底有什么區別,這篇文章全都告訴你

標簽:
  • 熱門焦點
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發布,本次就這款耳機新品給大家帶來一個簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產
  • 7月安卓手機性價比榜:努比亞+紅魔兩款新機入榜

    7月登場的新機有努比亞Z50S Pro和紅魔8S Pro,除了三星之外目前唯二的兩款搭載超頻版驍龍8Gen2處理器的產品,而且努比亞和紅魔也一貫有著不錯的性價比,所以在本次的性價比榜單
  • 量化指標是與非:挽救被量化指標扼殺的技術團隊

    作者 | 劉新翠整理 | 徐杰承本文整理自快狗打車技術總監劉新翠在WOT2023大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT】即可直接領取
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • OPPO K11搭載高性能石墨散熱系統:旗艦同款 性能涼爽釋放

    日前OPPO官方宣布,將于7月25日14:30舉辦新品發布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣點就是將配備索尼
  • 外交部:美方應停止在網絡安全問題上不負責任地指責他國

      中國外交部今天(16日)舉行例行記者會。會上,有記者問,美國情報官員稱,他們正在阻攔來自中國以及其他國家的黑客獲取相關科研成果。 中方對此有何評論?對此
  • 中關村論壇11月25日開幕,15位諾獎級大咖將發表演講

    11月18日,記者從2022中關村論壇新聞發布會上獲悉,中關村論壇將于11月25至30日在京舉行。本屆中關村論壇由科學技術部、國家發展改革委、工業和信息化部、國務
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續還將開展常態化登記。  北京科技教育體驗基
Top