bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

深度理解nodejs[4]-cluster多線程node-創新互聯

傳統node單線程缺陷

下面的express程序可以看出nodejs單線程的缺陷,當訪問主頁面localhost:3000時,doWork(5000)方法會暫停5秒鐘。
由于長時間的等待時間會使得node陷入到停頓的狀態。當其他的請求來的時候,也只能夠等待。例如當訪問后立即訪問localhost:3000/fast,只能夠等待一段時間。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、虛擬空間、營銷軟件、網站建設、慶云網站維護、網站推廣。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const express = require('express');
const app = express();
function doWork(duration){
 const start = Date.now();
 while(Date.now()-start<duration){}
}

app.get('/',(req,res)=>{
 doWork(5000);
 res.send("i like jonson")
})

app.get('/fast',(req,res)=>{
 res.send("i like jonson")
})
app.listen(3000);

cluster多線程node增強node表現

使用nodejs內置的cluster module可以讓多個node實例同時運行,管理多個node實例。
cluster管理多個node實例。cluster manager實例與child實例都會調用此文件中的代碼。

通過cluster.isMaster將兩者區分開。
cluster manager 中cluster.isMaster為true。
child實例實例中cluster.isMaster為false。

cluster.fork()代表新開一個child 實例。

下面的代碼在一開始,cluster manager實例就新開了4個child 實例。
所以即便是一個child停頓不會影響其他child實例工作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const cluster = require("cluster");

if(cluster.isMaster){

 cluster.fork();
  cluster.fork();
   cluster.fork();
    cluster.fork();
}else{
 const express = require('express');
 const app = express();
 function doWork(duration){
  const start = Date.now();
  while(Date.now()-start<duration){}
 }

 app.get('/',(req,res)=>{
  doWork(5000);
  res.send("i like jonson")
 })

 app.get('/fast',(req,res)=>{
  res.send("i like jonson")
 })
 app.listen(3000);
}

cluster缺陷

并不是cluster創建的child實數越多越好。因為cluster會讓所有的請求都同時的結束。
想象一下我們fork了6個child,當6個請求來的時候,如果計算機沒有這個處理能力,只能處理兩個線程,但是6個請求又必須同時的時間結束,這反而拖慢了所有的速度。
這不如兩個兩個的執行好!

  • 本文鏈接: https://dreamerjonson.com/2018/11/10/深度理解nodejs-4-cluster多線程node/

  • 版權聲明:本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!

深度理解nodejs[4]-cluster多線程node

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前題目:深度理解nodejs[4]-cluster多線程node-創新互聯
網站路徑:http://vcdvsql.cn/article4/csiioe.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣網站改版用戶體驗域名注冊網站建設云服務器

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設