91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

C++服務器引擎引入任務流的概念是什么

發布時間:2021-11-24 11:08:38 來源:億速云 閱讀:221 作者:iii 欄目:互聯網科技

本篇內容主要講解“C++服務器引擎引入任務流的概念是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++服務器引擎引入任務流的概念是什么”吧!

搜狗公司開源了其 C++ 服務器引擎 Sogou C++  Workflow,這一引擎實現了高性能、輕量級落地,還引入任務流概念,實現了計算任務與通信任務的統一和協同調度。

C++服務器引擎引入任務流的概念是什么

據介紹,目前該引擎支撐著搜狗幾乎所有后端 C++ 在線服務,包括所有搜索服務、云輸入法與在線廣告等,每日處理數百億請求。

Sogou C++ Workflow 在設計之初,就秉持著高性能與輕量級兩個核心理念。長久以來,業界中優化服務器性能都主要專注于如何跑滿  cpu、如何單獨地讓網絡請求極速響應等方面。而此次上線的搜狗 Workflow  則更專注于如何讓各種網絡資源被具體的調度器管理,使其盡可能地全部調度起來。

C++服務器引擎引入任務流的概念是什么

另一方面,對多通信計算資源融為一體的解決方案,進一步提升了 Workflow  引擎的性能。過去開發者在面臨選擇高吞吐網絡框架時,需要自己面對不同計算資源比例而劃分不同大小的線程池。然而每種計算具體資源需求比例是動態變化的,重要性也不一樣,后端響應時長也是動態變動。Sogou  C++ Workflow 使得 C++ 服務器引擎也能像 Go 語言一樣,實現網絡資源異步調度,并且進一步打通計算與磁盤等資源。

C++服務器引擎引入任務流的概念是什么

此項目最大的亮點可能是創新性引入了任務流的概念,Sogou C++ Workflow 將資源高度封裝,用戶再也接觸不到連接池、線程池,包括想要做 aio  時的文件 fd 與各種異步通知機制。這就意味著,在開發階段開發人員僅僅需要了解業務關系而不用關心內部細節,幫助開發者們實現自己復雜的業務邏輯。

開發人員可以利用 Sogou C++ Workflow  封裝好的各種任務來動態或靜態組建自己的業務邏輯,如下圖所示,不同類型的任務都可以被串行、并行到一起:

C++服務器引擎引入任務流的概念是什么

根據資料,除了各種創新設計以外,Sogou C++ Workflow 還擁有友好的用戶體驗。Sogou C++ Workflow  原生實現了對http、redismysql 和 kafka 等協議的支持,可以直接作為這些協議的客戶端使用。并且在其基礎上開發了一套更加易用的 Sogou  RPC,實現了與 brpc 和 thrift 互通,并且可以通過 http+json 或 IDL 實現跨語言。

開發團隊透露,Sogou RPC 項目也會在不久的將來開源。

Http Server 性能實測:Sogou C++ Workflow VS nginx、brpc

搜狗團隊也提供了 Sogou C++ Workflow 和 nginx、brpc 兩個主流系統的 http server 性能對比。

測試環境:

  • 選取了最基本的測試場景:wrk 或者 wrk2 跨機做 client,單 server,長連接,CPU:40 核 E5-2630 v4 @  2.20GHz,內存:192GB,網卡:25000Mb/s。nginx 配置了 auto 的進程數(與核數一致),brpc 配置了 40 個  nthreads,workflow 配置了 16 個 poller 線程和 20 個 handler 線程。

測試一:不同并發數對 QPS 的影響(越高越好)

C++服務器引擎引入任務流的概念是什么

結論:隨著壓測并發數的增加,server 的 QPS 會隨著增高。可以看到 Workflow 無論是低并發數還是高并發數的情況下,QPS 依然比  nginx 和 brpc 要高,尤其是并發數超過 128 的時候優勢更加明顯,Workfow 對于小包基本能保證 50w 的  QPS,說明內部對網絡資源的高并發調度做了很多優化。

測試二:不同數據大小對 QPS 的影響(越高越好)

C++服務器引擎引入任務流的概念是什么

結論:此處的返回包大小是 http 請求的 body 大小,隨著返回包增大,QPS 會有所下降,我們希望 QPS  依然盡可能保持平穩不要下降得太快。Workflow 在同并發下的性能依然比其他兩個系統要好,說明網絡收發和其他調用之間的調度協調得更好。

測試三:固定 QPS 下的延遲分布 CDF 圖(越左越好,越直越好)

C++服務器引擎引入任務流的概念是什么

到此,相信大家對“C++服務器引擎引入任務流的概念是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

c++
AI

吉木萨尔县| 祁东县| 印江| 青川县| 冀州市| 许昌市| 东乡县| 武陟县| 缙云县| 木兰县| 砚山县| 武汉市| 新沂市| 宜宾县| 松滋市| 阿拉尔市| 行唐县| 上林县| 中阳县| 息烽县| 高邮市| 普宁市| 阿坝县| 城市| 桦南县| 湖北省| 濮阳县| 德江县| 瓮安县| 凤冈县| 丹寨县| 靖西县| 莱州市| 郯城县| 奉节县| 龙山县| 石狮市| 离岛区| 武鸣县| 穆棱市| 神木县|