亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 在節(jié)點中進行多任務處理.js使用群集模塊

在節(jié)點中進行多任務處理.js使用群集模塊

來源:千鋒教育
發(fā)布人:syq
時間: 2022-09-22 15:36:29 1663832189

  我們已經(jīng)知道Node.js是單線程的,這意味著它將在可能具有多個內核的系統(tǒng)中使用處理器的單個內核。盡管它可以很好地處理單線程系統(tǒng)的負載,但肯定有優(yōu)化的空間,集群模塊是這樣做的一種方式。

在節(jié)點中進行多任務處理

  引入群集模塊是為了通過在多個處理器內核上運行工作進程/子進程來擴展應用程序執(zhí)行。這些進程共享相同的服務器端口,但即使使用相同的端口,這些進程在一天結束時也是獨立的進程。因此,他們每個人都有自己的 V8 實例、事件循環(huán)、自己的內存以及所有爵士樂。這些進程使用 IPC(進程間通信)通道與父進程進行通信。在學習本教程的過程中,我們將查看所有功能,因此讓我們深入研究一下。

  我們試圖解決的問題

  讓我們通過鍵入 來快速設置節(jié)點項目。(為了方便起見,我將添加快遞,但你不一定非要這樣做)。通過鍵入 來安裝快速和負載測試。我們將在本教程的后面部分使用 loadtest 來了解使用群集模塊獲得的性能優(yōu)勢。安裝后,創(chuàng)建一個名為 nonCluster 的文件.js并復制此代碼(此文件將包含不帶群集模塊的代碼,以便進行比較)。npm init -ynpm i express loadtest

21

  這是一個非常簡單的快速應用程序,有2個請求。終結點執(zhí)行 CPU 密集型任務,從而阻止事件循環(huán)。終結點會立即返回響應。簡單!/heavy/light

  現(xiàn)在運行服務器,先向終結點發(fā)出請求,然后再向終結點發(fā)出請求。終端節(jié)點顯然需要時間,但您會注意到終端節(jié)點也花費了相同的時間。這是因為端點占用了計算請求的時間,因此阻塞了事件循環(huán)。因此,在請求之后發(fā)出的任何請求現(xiàn)在都必須等待其完成。/heavy/light/heavy/light/heavy/heavy

  問題的解決方案

  因此,為了避免這種阻塞,讓我們添加集群模塊。在名為 cluster.js的新文件中,復制以下代碼:

22

  讓我們來分解一下。最初,當您有一個進程時,它會解析所有傳入的請求。現(xiàn)在我們使用的是群集模塊,將有 2 種類型的進程。父/主進程和子進程。最初,當服務器啟動時,它將啟動一組進程。之后,每當有人向服務器發(fā)出請求時,父進程就會將請求定向到子進程(主要以輪循機制方式)。然后,子進程將最終解決該請求。

23

  在塊內,我們將檢查當前進程是否是父進程。群集模塊具有一個名為 的屬性,該屬性允許您知道當前進程是子進程還是父進程。如果是父進程,則使用 fork 方法創(chuàng)建群集。(我們只啟動與系統(tǒng)中存在的內核總數(shù)相等的進程,以避免調度開銷。

  如果它不是父進程,則意味著它是一個子進程。因此,這個子進程現(xiàn)在實際上負責解析請求。它將具有所有API端點及其相應的邏輯。ifisMaster

24

  分叉新工作線程后,它將以事件進行響應。我們將在父級上偵聽此事件,以查看是否按預期創(chuàng)建了所有進程。online

  當工作線程死亡時,群集模塊會發(fā)出一個事件。因此,為了不使我們的應用程序停機,我們將在新進程出現(xiàn)故障時分叉。這樣,我們將始終啟動并運行一組進程,即使任何其他進程因任何有意或無意的原因而關閉。exit

  好吧,這看起來不錯。現(xiàn)在,如果運行此文件并發(fā)出相同的請求(首先向終結點發(fā)出請求,然后向終結點發(fā)出請求),則會看到它按預期工作,而不會阻塞事件循環(huán)。因此,添加一組進程確實有幫助。現(xiàn)在,讓我們使用負載測試包來執(zhí)行一些相對繁重的測試。/heavy/light

  由于群集應用程序已在運行,因此讓我們先對其進行測試。鍵入以運行測試。(如果您沒有全局安裝負載測試,只需在命令開頭添加 npx 即可。loadtest -n 1000 -c 100

  -n 表示我設置為 1000 的請求總數(shù)。

  -c 代表并發(fā)。它基本上將模擬一個真實世界的環(huán)境,其中應用程序同時從多個客戶端接收請求,在這種情況下,它將是100個同時客戶端。

  這些是“群集”應用程序的匯總結果。

25

  現(xiàn)在,讓我們切換到“非群集”應用程序,并再次運行相同的測試。

26

  使用群集時,整體性能明顯有顯著提高。但有一個問題。這兩項測試都是針對端點的,這是一個 CPU 密集型操作。讓我們嘗試運行相同的測試,但這次是針對終結點。/heavy/light

27

  驚喜,驚喜。在此示例中,使用群集時,我們的性能實際上相對較差。為什么?

  你看,Node.js主要是為I/O操作設計的,在大多數(shù)情況下,它不會阻塞事件循環(huán)。因此,由于它知道如何處理這些類型的操作,因此添加額外的進程并將請求路由到這些進程中的每一個最終都是很可能不需要的開銷。但是,在 CPU 密集型阻塞操作的情況下,最好在確實需要群集的進程之間拆分請求數(shù)。

  因此,它最終歸結為您的應用程序的設計目的。如果你有一個微服務架構,并且有一個特定的服務來處理 CPU 密集型操作,你可以為該特定服務啟動一個集群,其余的可以由你的單線程節(jié)點進程處理。

  所以,這就是你在 Node.js應用程序中使用集群的方式。它有自己的一組警告,在將其添加到代碼庫之前,您需要了解它們。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
妺妺窝人体色WWW在线直播| 亚洲高清国产拍精品动图| 久久人妻AV中文字幕| 97porm国内自拍视频| 午夜伦4480YY私人影院免费| 美女GIF趴跪式抽搐动态图| 国产精品SP调教打屁股| 中文人妻AV大区中文不卡| 色一情一乱一伦一区二区三区小说 | 免费A级毛片在线播放不收费| 大J8黑人BBW巨大888| 亚洲国产成人精品无码一区二区| 全部免费A级毛片| 精品久久久久久久免费人妻| 99精品国产兔费观看久久99| 亚洲AV无码精品黑人黑人| 美女又大又黄WWW免费网站| 国产裸拍裸体视频在线观看| GOGO西西自慰人体高清人体模| 亚洲国产AV无码专区亚洲AV | 亚洲丰满熟妇在线观看| 舌尖伸入湿嫩蜜汁呻吟| 人人做人人爱在碰免费| 国产欧美另类久久精品蜜芽| 亚洲字幕AV一区二区三区四区 | 国产成人精品日本亚洲语音| 99久RE热视频这只有精品6| 夜夜添夜夜添夜夜摸夜夜摸| 天堂VA视频一区二区| 人妻少妇88久久中文字幕| 久久久久亚洲AV无码成人片麻豆| 产后漂亮奶水人妻| ぱらだいす天堂中文WWW| 99精产国品一二三产区区别网站| 孕妇泬出白浆18P| 伊人久久大香线蕉AV成人| 亚洲熟妇人妻系列| 亚洲熟妇无码乱码AV电影| 偷玩朋友熟睡人妻| 人人妻人人澡人人爽人人| 久久精品成人欧美大片| 精品人妻无码一区二区色欲产成人| 国产香港明星裸体XXXX视频| 国产亚洲视频在线观看播放| 国产免费无码一区二区视频| 粗一硬一长一进一爽一A级| 丰满少妇奶水一区二区三区| 丰满少妇人妻久久久久久| 玩弄放荡人妇系列AV在线网站| 手机在线永久免费观看AV片| 成人无码区免费A∨| 成人视频在线观看| 国产精品成人影院久久久| 成人一区二区三区视频在线观看| FREE性欧美18ⅩXOO极品| 99亚洲乱人伦AⅤ精品| Chinese宅妇内射AV| 中文字幕日韩人妻在线乱码| 中文字幕日韩一区二区不卡| 亚洲日韩一区二区三区波多野结衣| 亚洲精品无码AV片| 中文字幕久久熟女蜜桃| 中文字幕久久熟女蜜桃| 啊灬啊别停灬用力啊老师| 吃花核心舌头在里面旋转| 亚洲AV不卡一区二区三区| 亚洲乱码日产精品BD在线| 亚洲乱码一区二三四区AVA| 中文字字幕在线中文乱码| 差差漫画页面在线阅读弹窗在线看| 啊轻点灬大JI巴太粗太长了H文 | 乖宝真紧H嘶爽老子H| 含苞待放1ⅤLH周莹莹| 久久精品国产亚洲AⅤ无码| 久久久久精品国产三级| 久久亚洲私人国产精品| 三级韩国2017在线观看| 亚洲精品无码AⅤ片影音先锋在线| 一本大道香蕉大无线吗| 亚洲综合另类小说色区色噜噜| AV优选天堂污污污成人亚洲| 无码专区狠狠躁躁天天躁| 自由 日本语 热 亚洲人| 动漫人物插画动漫人物的视频| 狠狠躁夜夜躁人人躁婷婷| 欧美 日韩 国产 亚洲 色| 无套内谢孕妇毛片免费看看| 亚洲欧美偷拍内射白浆| 把腿张开老子臊烂你的黄漫| 国内精品国内精品自线在拍| 久久亚洲人成网站| 无码专区AAAAAA免费视频| 99精品久久久久中文字幕| 好男人好资源在线影视官网 | 四虎永久在线精品免费网址| 亚洲女同精品一区二区| 丰满爆乳无码一区二区三区| 老旺大肉蟒进进出出电影免费| 日产乱码一二三区别免费麻豆| 亚洲欧洲闷骚AV少妇影院| A4YY午夜福利视频无码| 激情五月开心婷婷深爱| 日本人XXXX裸体XXXX| 亚洲人成人无码一区二区三区 | 国产亚洲人成在线播放| 日本熟妇厨房XXXXX乱| 一受多攻同做H嗯啊巨肉| 50岁丰满女人裸体毛茸茸| 精品亚洲成A人在线观看青青| 婷婷综合久久中文字幕蜜桃三电影| 50岁熟妇大白屁股真爽| 51国偷自产一区二区三区| 狠狠人妻熟妇av又粗又大| 帅气小鲜肉自慰VIDEO| 91精品人妻一区二区三区蜜蜜挑 | 国产成人综合色视频精品| 麻豆星空九一视频在线| 羞羞漫画AⅤ漫画AV漫画视频| MM131极品尤物美女| 女人的选择HD中字| 真实差差差无掩盖视频30分钟| 国产精品午睡沙发系列| 婷婷无套内射影院| 国产成人AV乱码免费观看| 熟妇人妻AV中文字幕老熟妇| 边做边爱完整版免费视频播放| 粗大猛烈进出高潮视频免费看| 欧美综合自拍亚洲综合图片区| 野草乱码一二三四区别在哪| 国产色视频网站免费| 性色AV一区二区三区夜夜嗨| 国产丝袜无码一区二区视频 | 玩稚嫩的小屁股眼AV| 成人无码精品无码社区| 人人妻人人做人人人少妇| 宝贝腿开大点我添添公视频免 | 国产A∨国片精品青草视频| 欧美日韩中文国产一区发布| 夜夜精品无码一区二区三区| 久久无码中文字幕无码| 中国亲子伦孑XXⅩ| 成年免费A级毛片| 日韩精品一区二区亚洲蜜桃| 国产 麻豆 日韩 欧美 久久| 无码国内精品人妻少妇蜜桃视频| 夫妻毛片盗摄国产内射| 亚洲A∨无码无在线观看| 久久精品中文字幕| 曰韩亚洲AV人人夜夜澡人人爽| 欧美日韩精品一区二区三区不卡| 纯肉无遮挡H肉动漫在线观看国产 纯肉无遮挡H肉动漫在线观看3D | 日韩一区二区无码视频| 国产农村妇女精品一二区 | 99亚偷拍自图区亚洲| 婷婷色香五月综合激激情| 国产精品视频YJIZZ| 一二三四视频社区在线播放中国| 人妻少妇一级毛片内射一牛影视| JlZZJlZZ日本熟丰满人妻| 无码AV一区二区三区不卡| 久久99精品久久久久久秒播| 三级 丰满 人妻 少妇| 国产精品V欧美精品V日韩精品| 亚洲乱码一区AV春药高潮| 欧美激情000ⅩXX同性| 高潮潮喷奶水飞溅视频无码| 亚洲AV无码AV制服另类专区| 拒嫁豪门少奶奶99次出逃| 丰满人妻熟妇乱又伦精品| 一面亲上边一面膜下边文字的含义| 日韩少妇内射免费播放| 精品亚洲国产成人AV在线| 12孩岁女A处破娇小| 无套内射CHINESEHD| 男女高潮免费观看无遮挡| 高潮大叫喷水发抖抽搐| 中文字幕久久久久人妻| 小BBW小BBW小BBW小| 免费又黄又爽1000禁片| 国语自产偷拍精品视频| 超薄丝袜足J好爽在线观看| 亚洲AV伊人久久青青草原| 日本无码SM凌虐强制M字开腿| 国内一区二区三区香蕉AⅤ| 成人精品一区二区三区网站| 亚洲国产精品久久久久婷婷老年| 日本熟妇色XXXXX日本妇奷| 精品午夜人成一区| 国产成人精品亚洲一区二区三区 | 亚洲午夜精品久久久久久人妖| 你下水好多下水道BD| 韩国19禁床震无遮掩免费| 八戒八戒神马2021| 亚洲日本一区二区三区在线不卡| 欧美牲交黑粗硬大在线视频| 狠狠色狠狠色综合久久| 国产免费一区二区三区不卡| IJZZIJZZIJ亚洲大全| 43417大但人文艺术| 中文字幕AV免费专区|