中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Open×××單線程原因

發布時間:2020-04-09 10:19:03 來源:網絡 閱讀:337 作者:dog250 欄目:系統運維
本文簡單說一下一個幾乎沒有人考慮過的問題,那就是為什么Open×××被設計成單線程單進程的。我曾經苦苦等待Open×××新版本的推出,第一件事就是看其ChangeLog,然而沒有發現multiXXX,我一直都不理解多核時代為何還有單進程單線程的Open×××,這個答案在我通讀了Open×××的maillist之后終于有了答案。
        多線程在多核系統中的最大好處就是可以最大限度的利用多個處理器核心,然而一個好的算法在多核環境中最最關注的就是如何將欲求解的問題分割成可以并行處理的多個問題,然后將其分派給不同的處理器核心去處理。在典型的C/S模型中,一般根據客戶來分派線程或者進程。比如Apache就是這么做的,其實IIS也差不到哪去,而且經典的UNIX網絡編程規范也建議如此做,因此人們很容易將Apache的做法看做是理所當然的,雖然有了event機制來替代單純的per-客戶-per-thread,然而其底層實現都差不到哪去,只是用戶態的api改變最大。
        現在看看Open×××為何僅僅使用了單個處理器核心?原因很簡單,那就是在IP層無法很好分割問題,如果按照用戶來分割,那么很有可能一個用戶連上之后并不傳輸數據,從而造成線程閑置,若若按照實際訪問的目標來分割,那么將會造成一個笛卡爾積的復雜局面。因此最佳的方式就是讓×××的搭建著自己來完成問題的分割,然后通過注入負載均衡以及虛擬網卡bonding之類的技術來提高效率。然而可悲的是,事實上這樣做的人很少,大多數人都十分滿足于Open×××單線程的現有表現,我在網上google相關的Open×××提速方案,令人幾乎掉淚的是搜索到的文章幾乎都是我自己寫的…咱也是普通一朵程序員,也有任務在身,也不是什么研究所的專職資料整理者,因此也希望能互動一把,總不能光奉獻不索取吧。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜兰市| 赫章县| 资源县| 南皮县| 亳州市| 黑河市| 盐池县| 淳化县| 庆安县| 密云县| 陆川县| 锡林郭勒盟| 富蕴县| 保山市| 常山县| 花垣县| 进贤县| 成武县| 海口市| 台北县| 越西县| 双牌县| 江陵县| 内江市| 上蔡县| 宁津县| 鸡西市| 舟山市| 阿城市| 无锡市| 镇沅| 梁平县| 富顺县| 长泰县| 富锦市| 鹤庆县| 五莲县| 个旧市| 闽侯县| 宣恩县| 仁怀市|