Selama beberapa hari saya telah mencari solusi yang berfungsi untuk kesalahan
Error: EMFILE, too many open files
Tampaknya banyak orang memiliki masalah yang sama. Jawaban yang biasa melibatkan peningkatan jumlah deskriptor file. Jadi, saya sudah mencoba ini:
sysctl -w kern.maxfiles=20480
,
Nilai defaultnya adalah 10240. Ini agak aneh di mata saya, karena jumlah file yang saya tangani di direktori di bawah 10240. Bahkan lebih aneh, saya masih menerima kesalahan yang sama setelah saya meningkatkan jumlah deskriptor file .
Pertanyaan kedua:
Setelah beberapa pencarian, saya menemukan solusi untuk masalah "terlalu banyak file terbuka":
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);
Sayangnya saya masih menerima kesalahan yang sama. Apa yang salah dengan kode ini?
Satu pertanyaan terakhir (saya baru javascript dan node), saya sedang dalam proses mengembangkan aplikasi web dengan banyak permintaan untuk sekitar 5000 pengguna setiap hari. Saya sudah bertahun-tahun pengalaman dalam pemrograman dengan bahasa lain seperti python dan java. jadi awalnya saya pikir untuk mengembangkan aplikasi ini dengan Django atau kerangka bermain. Kemudian saya menemukan simpul dan saya harus mengatakan bahwa ide model I / O non-blocking sangat bagus, menggoda, dan yang paling utama sangat cepat!
Tapi masalah apa yang harus saya harapkan dengan node? Apakah ini server web yang terbukti produksi? Apa pengalaman anda