Browse Source

Fix use the physical CPU count from Express (#7986)

JaeHyeok Kim 2 years ago
parent
commit
bb94cc272b

+ 5 - 3
frameworks/JavaScript/express/app.js

@@ -4,7 +4,7 @@
  */
  */
 
 
 const cluster = require('cluster'),
 const cluster = require('cluster'),
-  numCPUs = require('os').cpus().length,
+  physicalCpuCount = require('physical-cpu-count'),
   express = require('express');
   express = require('express');
 
 
 const bodyParser = require('body-parser');
 const bodyParser = require('body-parser');
@@ -13,7 +13,7 @@ if (cluster.isPrimary) {
   console.log(`Primary ${process.pid} is running`);
   console.log(`Primary ${process.pid} is running`);
 
 
   // Fork workers.
   // Fork workers.
-  for (let i = 0; i < numCPUs; i++) {
+  for (let i = 0; i < physicalCpuCount; i++) {
     cluster.fork();
     cluster.fork();
   }
   }
 
 
@@ -41,5 +41,7 @@ if (cluster.isPrimary) {
   app.get('/plaintext', (req, res) =>
   app.get('/plaintext', (req, res) =>
     res.header('Content-Type', 'text/plain').send('Hello, World!'));
     res.header('Content-Type', 'text/plain').send('Hello, World!'));
 
 
-  app.listen(8080);
+  app.listen(8080, () => {
+    console.log('listening on port 8080');
+  });
 }
 }

+ 5 - 3
frameworks/JavaScript/express/mongodb-app.js

@@ -4,7 +4,7 @@
  */
  */
 
 
 const cluster = require('cluster'),
 const cluster = require('cluster'),
-  numCPUs = require('os').cpus().length,
+  physicalCpuCount = require('physical-cpu-count'),
   express = require('express'),
   express = require('express'),
   mongoose = require('mongoose'),
   mongoose = require('mongoose'),
   conn = mongoose.connect('mongodb://tfb-database/hello_world');
   conn = mongoose.connect('mongodb://tfb-database/hello_world');
@@ -33,7 +33,7 @@ const FortuneSchema = new mongoose.Schema({
 
 
 if (cluster.isPrimary) {
 if (cluster.isPrimary) {
   // Fork workers.
   // Fork workers.
-  for (let i = 0; i < numCPUs; i++) {
+  for (let i = 0; i < physicalCpuCount; i++) {
     cluster.fork();
     cluster.fork();
   }
   }
 
 
@@ -101,5 +101,7 @@ if (cluster.isPrimary) {
     res.send(results);
     res.send(results);
   });
   });
 
 
-  app.listen(8080);
+  app.listen(8080, () => {
+    console.log('listening on port 8080');
+  });
 }
 }

+ 5 - 3
frameworks/JavaScript/express/mysql-app.js

@@ -4,7 +4,7 @@
  */
  */
 
 
 const cluster = require('cluster'),
 const cluster = require('cluster'),
-  numCPUs = require('os').cpus().length,
+  physicalCpuCount = require('physical-cpu-count'),
   express = require('express'),
   express = require('express'),
   Sequelize = require('sequelize');
   Sequelize = require('sequelize');
 
 
@@ -45,7 +45,7 @@ const Fortune = sequelize.define('Fortune', {
 
 
 if (cluster.isPrimary) {
 if (cluster.isPrimary) {
   // Fork workers.
   // Fork workers.
-  for (let i = 0; i < numCPUs; i++) {
+  for (let i = 0; i < physicalCpuCount; i++) {
     cluster.fork();
     cluster.fork();
   }
   }
 
 
@@ -127,5 +127,7 @@ if (cluster.isPrimary) {
     res.send(results);
     res.send(results);
   });
   });
 
 
-  app.listen(8080);
+  app.listen(8080, () => {
+    console.log('listening on port 8080');
+  });
 }
 }

+ 1 - 0
frameworks/JavaScript/express/package.json

@@ -11,6 +11,7 @@
     "mysql2": "2.2.5",
     "mysql2": "2.2.5",
     "pg": "8.5.0",
     "pg": "8.5.0",
     "pg-promise": "10.7.3",
     "pg-promise": "10.7.3",
+    "physical-cpu-count": "^2.0.0",
     "pug": "2.0.1",
     "pug": "2.0.1",
     "sequelize": "5.15.1"
     "sequelize": "5.15.1"
   }
   }

+ 2 - 2
frameworks/JavaScript/express/postgresql-app.js

@@ -2,7 +2,7 @@
  * Module dependencies.
  * Module dependencies.
  */
  */
 const cluster = require('cluster'),
 const cluster = require('cluster'),
-  numCPUs = require('os').cpus().length,
+  physicalCpuCount = require('physical-cpu-count'),
   express = require('express'),
   express = require('express'),
   helper = require('./helper');
   helper = require('./helper');
 
 
@@ -51,7 +51,7 @@ const randomWorldPromise = () => {
 
 
 if (cluster.isPrimary) {
 if (cluster.isPrimary) {
   // Fork workers.
   // Fork workers.
-  for (let i = 0; i < numCPUs; i++) {
+  for (let i = 0; i < physicalCpuCount; i++) {
     cluster.fork();
     cluster.fork();
   }
   }