我是nodeJs和Azure的初學者。Azure函數的NodeJS比本地節點慢得多jS
我想在我的程序中使用wav-encoder npm模塊。 wav-encoder
所以我寫了這樣的代碼下面,
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);
});
它運行我的本地計算機上,不到2秒。
但如果我上傳類似的代碼到Azure函數,它需要超過2分鐘。
下面是我的函數中的代碼。它由http REST調用觸發。
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();
});
};
您知道嗎?我該如何提高Azure的性能?
更新
context.res = {
// status: 200, /* Defaults to 200 */
body: whiteNoise1sec
};
context.done();
我發現,這條線會導致性能。
如果我給大尺寸陣列context.res.body
需要很長的時間,當我打電話context.done();
也不大尺寸JSON響應適當的Azure的功能???
感謝您的答覆和有用的信息,但它似乎是在我的情況下,低性能的響應,並要求大尺寸JSON引起的。 我通過將數組作爲blob二進制來解決此問題。如果req和res的JSON結構不大,性能不會那麼低。 這似乎是天藍解析請求和響應緩慢。 –