Влияют ли эти рабочие процессы на работу док-контейнеров на экземпляре 2 vCPU ec2? - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть кластер ECS, работающий за балансировщиком сетевой нагрузки, подключенным к API-шлюзу.2 - экземпляры t3.medium работают в разных AZ.Инфраструктура работает и работает, но когда живой трафик достигает шлюза API, время отклика очень медленное, иногда 12 000 мс.Я думаю, что это происходит на уровне Docker-контейнера, где код разработчика порождает некоторые процессы, которые могут делать что-то необычное.Я не уверен, хотя.Поскольку для тестирования на одной и той же виртуальной машине работают 2 одинаковых док-контейнера, возможно ли, что рабочие процессы контейнеров влияют на количество ядер vCPU, доступных для экземпляра t3.medium, заданного для 2 vCPU?Кластер ECS работает на 14%. Загрузка ЦП, по-моему, достаточна.4% загрузка процессора.Мне кажется, что он недостаточно используется, но время отклика очень медленное, когда запросы попадают в шлюз 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);
}
...