nó e erro: EMFILE, muitos arquivos abertos

Por alguns dias, procurei uma solução funcional para um erro

Error: EMFILE, too many open files

Parece que muitas pessoas têm o mesmo problema. A resposta usual envolve aumentar o número de descritores de arquivos. Então, eu tentei o seguinte:

sysctl -w kern.maxfiles=20480,

O valor padrão é 10240. Isso é um pouco estranho aos meus olhos, porque o número de arquivos que estou manipulando no diretório está abaixo de 10240. Ainda mais estranho, continuo recebendo o mesmo erro depois de aumentar o número de arquivos descritores.

Segunda questão

pós várias pesquisas, encontrei uma solução alternativa para o problema "muitos arquivos abertos":

var requestBatches = {};
function batchingReadFile(filename, callback) {
  // First check to see if there is already a batch
  if (requestBatches.hasOwnProperty(filename)) {
    requestBatches[filename].push(callback);
    return;
  }

  // Otherwise start a new one and make a real request
  var batch = requestBatches[filename] = [callback];
  FS.readFile(filename, onRealRead);

  // Flush out the batch on complete
  function onRealRead() {
    delete requestBatches[filename];
    for (var i = 0, l = batch.length; i < l; i++) {
      batch[i].apply(null, arguments);
    }
  }
}

function printFile(file){
    console.log(file);
}

dir = "/Users/xaver/Downloads/xaver/xxx/xxx/"

var files = fs.readdirSync(dir);

for (i in files){
    filename = dir + files[i];
    console.log(filename);
    batchingReadFile(filename, printFile);

Infelizmente ainda recebo o mesmo erro. O que está errado neste código

Uma última pergunta (eu sou novo em javascript e nó), estou desenvolvendo um aplicativo da web com muitas solicitações para cerca de 5.000 usuários diários. Tenho muitos anos de experiência em programação com outras linguagens como python e java. então originalmente pensei em desenvolver esta aplicação com django ou play framework. Descobri o nó e devo dizer que a ideia do modelo de E / S sem bloqueio é realmente agradável, sedutora e, acima de tudo, muito rápida!

Mas que tipo de problemas devo esperar com o nó? É um servidor Web comprovado em produção? Quais são as suas experiências?

questionAnswers(20)

yourAnswerToTheQuestion