这些工作进程会影响Docker容器在2个vCPU ec2实例上运行的方式吗?

时间:2019-04-03 04:55:02

标签: node.js docker amazon-ec2 amazon-ecs

我有一个ECS集群,该集群在连接到API网关的网络负载均衡器后面运行。 2-t3.medium实例在不同的可用区中运行。基础架构已启动并正在运行,但是当实时流量到达API网关时,响应时间非常慢,有时为12,000ms。我认为这是在Docker容器级别发生的,开发人员代码在其中生成了一些可能在做一些时髦的过程。我不确定。由于要进行测试,在同一个VM上运行2个相同的docker容器,容器工作程序进程是否有可能影响2个vCPU规格的t3.medium实例可用的vCPU核心数量? ECS集群的运行速度为14%,在我看来,还有很多可用空间。

我已将ssh放入t3.medium实例中,并执行了“ top”命令,该命令显示了2个进程以3-4%的CPU利用率运行。对我来说似乎确实没有充分利用,但是当请求到达API网关时,响应时间非常慢。

下面是创建进程的节点server.js代码。

var cluster = require('cluster');

var numCPUs = require('os').cpus().length;

var cluster = require('cluster');

// Code to run if we're in the master process
if(cluster.isMaster) {
  // count the machine cpus
  var cpuCount = require('os').cpus().length;

  // create a worker for each cpu
  for (var i=0; i<cpuCount; i+=1) { 
    cluster.fork();
  }

// code to run if we are in a worker process
} else {

var express = require('express');

var app = express();

app.use(bodyParser.urlencoded({ extended: true }));

app.use(bodyParser.json());

app.listen(port);

var routes = require('./api/routes/routes.js'); 

routes(app);
}

0 个答案:

没有答案