Il problema: Se commento la linea espressa ['statico'], il codice funziona perfettamente. Se lo includo (o cambi l'ordine), l'app si blocca per un po 'prima di rispondere.nodejs si blocca con file statici rapidi
ricreare: eseguire l'applicazione, caricare un browser e andare a 127.0.0.1:51783 Aggiornare la pagina costantemente (o usare curl), la console vi darà un output simile a:
GET/1 ms
Poi, quando i calci di timeout in e le 15 richieste vengono inviate, il server non risponde e si ottiene il seguente:
Server Now Unresponsive but requests queued
GET/35549 ms
app.js
var http = require('http');
var express = require('express');
var app = express.createServer();
app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' }));
app.use(express.bodyParser());
app.use(express['static'](__dirname + '/')); //Comment me and all works perfectly!
app.listen(51783);
http.globalAgent.maxSockets = 500; //doesn't help
setTimeout(function(){
console.log('Server Now Unresponsive but requests queued');
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].forEach(function(item){
http.request({host:'http://cnn.com', port:80, path:'/null', method:'GET'}, function(res){
}).on('error', function(e){});
});
},5000);
Ho lo stesso identico problema. Supponevo che provenisse da un altro pezzo di middleware, ma ora lo ho isolato per connect.static. Hai qualche fortuna a risolvere questo alla fine, Chillbo? –
Abbiamo anche questo problema. –