<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Node.js的異步IO性能探討_node.js

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 21:27:45
        文檔

        Node.js的異步IO性能探討_node.js

        Node.js的異步IO性能探討_node.js:Python 和 Ruby 也有這樣的框架,但因為在實際使用中會不可避免地用到含有同步代碼的庫,因此沒能成長起來,而在 Node.js 之前,JavaScript 的服務器端編程幾乎是空白,所以 Node.js 才得以建立起了一個所有 IO 均為異步的代碼庫。 大部分 Web 應用的
        推薦度:
        導讀Node.js的異步IO性能探討_node.js:Python 和 Ruby 也有這樣的框架,但因為在實際使用中會不可避免地用到含有同步代碼的庫,因此沒能成長起來,而在 Node.js 之前,JavaScript 的服務器端編程幾乎是空白,所以 Node.js 才得以建立起了一個所有 IO 均為異步的代碼庫。 大部分 Web 應用的

        Python 和 Ruby 也有這樣的框架,但因為在實際使用中會不可避免地用到含有同步代碼的庫,因此沒能成長起來,而在 Node.js 之前,JavaScript 的服務器端編程幾乎是空白,所以 Node.js 才得以建立起了一個所有 IO 均為異步的代碼庫。

        大部分 Web 應用的瓶頸都在 IO, 即讀寫磁盤,讀寫網(wǎng)絡,讀寫數(shù)據(jù)庫。使用怎樣的策略等待這段時間,就成了改善性能的關鍵點。

        PHP 的策略:多進程運行,直接原地等待 IO 完成。缺點:多個進程會消耗多份內(nèi)存,進程間難以共享數(shù)據(jù)。
        C/C++ 通常的策略:多線程運行,程序自己維護鎖的狀態(tài)。缺點:開發(fā)成本高,容易出錯,不易調(diào)試。
        Python(Tornado): 多個請求在單個進程中輪流執(zhí)行,遇到 IO 時切換到另一個請求。缺點:對于單個請求而言,依然沒有最高效地利用時間。
        何謂「最高效地利用時間」?比如現(xiàn)在有兩個不相關的數(shù)據(jù)庫查詢,在 PHP 中通常會先執(zhí)行一個,執(zhí)行完成后再執(zhí)行第二個(總時間是 a + b). 顯然這不是最高效的,應該同時執(zhí)行兩個查詢,時間是 max(a, b).

        Python 和其他支持多線程的語言的問題就在于,在語言層面,程序員很難告訴虛擬機,應當將兩個操作同時執(zhí)行,即使有辦法,也相當麻煩,大多數(shù)人懶得去用(也不值得去用)。而因為 Node.js 喪心病狂地強制所有 IO 異步執(zhí)行,Node.js 的程序員也可以說是輕車熟路,配合一些改善代碼可讀性庫(promise, async), 可以很輕松地讓不相干的操作并行執(zhí)行。

        上面講了異步 IO 的實現(xiàn),那么異步 IO 的優(yōu)勢究竟體現(xiàn)在哪里呢。實際上異步 IO 并不能神奇地減輕服務器的壓力,該加服務器還是一樣要加服務器,只不過異步 IO 會減少單個請求的時間,去掉單個請求中那些無意義的等待時間。所以單位時間內(nèi)處理的請求沒有變化,但每個請求的處理時間卻減少了。從這個角度,服務器也節(jié)約了一些資源——即維持每個請求的連接消耗的內(nèi)存。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Node.js的異步IO性能探討_node.js

        Node.js的異步IO性能探討_node.js:Python 和 Ruby 也有這樣的框架,但因為在實際使用中會不可避免地用到含有同步代碼的庫,因此沒能成長起來,而在 Node.js 之前,JavaScript 的服務器端編程幾乎是空白,所以 Node.js 才得以建立起了一個所有 IO 均為異步的代碼庫。 大部分 Web 應用的
        推薦度:
        標簽: js io 性能
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久久久噜噜噜亚洲熟女综合 | 日本高清不卡aⅴ免费网站| 成人免费福利电影| 亚洲中文字幕久久精品无码2021| 久久久久久AV无码免费网站| 久久亚洲国产午夜精品理论片| 久99久无码精品视频免费播放| 久久综合亚洲色HEZYO国产| 国产精品无码永久免费888| 国产亚洲精品无码拍拍拍色欲| 国产精品成人啪精品视频免费| 亚洲中文字幕在线第六区| 在线观看黄片免费入口不卡| 亚洲乳大丰满中文字幕| 青青操免费在线观看| 亚洲Av无码精品色午夜| 久久久久久久岛国免费播放 | 亚洲综合日韩久久成人AV| 中文字幕免费人成乱码中国| 亚洲av无码乱码国产精品fc2| 久久青草免费91线频观看站街| 亚洲人成电影亚洲人成9999网| 最近最新高清免费中文字幕 | 久久久精品国产亚洲成人满18免费网站| h视频免费高清在线观看| 亚洲永久精品ww47| 99视频在线免费看| 亚洲中文字幕无码av| 亚洲AⅤ永久无码精品AA| 你好老叔电影观看免费| 亚洲国产精品yw在线观看| 国产又大又黑又粗免费视频| 久久精品成人免费观看97| 久久亚洲AV无码精品色午夜 | 久久午夜夜伦鲁鲁片无码免费| 亚洲国产精品综合一区在线| 国产zzjjzzjj视频全免费| 精品国产免费一区二区三区香蕉| 亚洲国产美女视频| 大胆亚洲人体视频| 亚洲一级免费毛片|