Я обновил свой скрипт узла с узла 8 до узла 10, и загрузка по FTP стала очень медленной.
const PromiseFtp = require('promise-ftp');
const ftpClient = new PromiseFtp();
const fileToDownload = '/path/to/remote/file';
const streamFilename = '/path/to/local/file';
ftpClient.connect(ftpConfig)
.then((serverMessage) => ftpClient.size(fileToDownload))
.then((numBytes) => {
logger.verbose(`Downloading ${numBytes} Bytes...`);
start = new Date();
return ftpClient.get(fileToDownload);
})
.then((stream) => {
return new Promise((resolve, reject) => {
stream.once('close', resolve);
stream.once('error', reject);
stream.pipe(fs.createWriteStream(streamFilename));
});
})
.then(() => {
const end = new Date() - start;
logger.verbose('File downloaded in %dms', end);
return ftpClient.end();
});
Здесь журнал консоли
С узлом 8
$ nvm exec 8 node ftpscript.js
Running node v8.16.2 (npm v6.4.1)
verbose: Downloading 191 Bytes...
verbose: File downloaded in 19ms
С узлом 10
$ nvm exec 10 node ftpscript.js
Running node v10.16.3 (npm v6.9.0)
verbose: Downloading 191 Bytes...
verbose: File downloaded in 30015ms
Загрузка занимает около 30 секунд. Или, может быть, это createWriteStream (). Есть ли где-нибудь параметр, установленный на 30 с в узле 10?