Ich bin Anfänger bei NodeJs und Azure.NodeJS der Azure-Funktion ist viel langsamer als lokale KnotenJS
Ich versuche wav-encoder npm Modul in meinem Programm zu verwenden. wav-encoder
so schrieb ich Code wie unten,
var WavEncoder = require('wav-encoder');
const whiteNoise1sec = {
sampleRate: 40000,
channelData: [
new Float32Array(40000).map(() => Math.random() - 0.5),
new Float32Array(40000).map(() => Math.random() - 0.5)
]
};
WavEncoder.encode(whiteNoise1sec).then((buffer)=>{
console.log(whiteNoise1sec);
console.log(buffer);
});
es auf meinem lokalen Rechner läuft, weniger als 2 Sekunden.
aber wenn ich ähnlichen Code zu Azure Funktionen hochladen, dauert es mehr als 2 Minuten.
unten ist Code in meinen Funktionen. Es wird durch http REST-Aufruf ausgelöst.
var WavEncoder = require('wav-encoder');
module.exports = function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
const whiteNoise1sec = {
sampleRate: 40000,
channelData: [
new Float32Array(40000).map(() => Math.random() - 0.5),
new Float32Array(40000).map(() => Math.random() - 0.5)
]
};
WavEncoder.encode(whiteNoise1sec).then((buffer)=>{
context.res = {
// status: 200, /* Defaults to 200 */
body: whiteNoise1sec
};
context.done();
});
};
Wissen Sie, wie ich die Leistung von Azure verbessern kann?
aktualisieren
context.res = {
// status: 200, /* Defaults to 200 */
body: whiteNoise1sec
};
context.done();
fand ich, dass diese Linie geringe Leistung Ursache.
Wenn ich große Array context.res.body
geben dauert es lange Zeit, wenn ich rufe context.done();
ist nicht groß Größe json Antwort richtig für Azure Funktionen ???
Danke für Ihre Antwort und nützliche Informationen, aber es scheint so, dass in meinem Fall, geringe Leistung für große Größe von JSON in Antwort und Anfrage verursacht wird. Ich löse dieses Problem, indem ich Arrays als Blobbinär mache. Wenn die JSON-Struktur von req und res nicht groß ist, ist die Leistung nicht so niedrig. Es scheint, als ob die Analyseanforderung und die Antwort in azure langsam ist. –