You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am developing node application to upload files, I can see that when multer receives a request with file 200KB for example, it then holds 400KB in the memory and does not release it even after the request finishes until the app receives a new request and do the same with the next request.
Not sure. My guess is it's loading the data in memory instead of streaming it. version 2.0.0-rc.4 introduces the stream property so user land code can pipe it directly to a write stream for better memory performance.
Based on my attempts, I found that the reason might be that the V8 engine does not promptly clean up the buffer variable. Buffers are not managed by V8, but the memory will not be released until the JavaScript variable that references the buffer is cleared. Since the buffer is not very large, V8 does not immediately clear it. Therefore, using the diskStorage method is more memory-efficient as it saves memory better.
I am developing node application to upload files, I can see that when multer receives a request with file 200KB for example, it then holds 400KB in the memory and does not release it even after the request finishes until the app receives a new request and do the same with the next request.
`const multer = require("multer");
const storage = multer.memoryStorage();
const upload = multer({
storage: storage
});
const app = express();
const port = process.env.PORT || 3002;
app.use(express.json());
app.post("/submitRequest", upload.single("file"), async (req, res) => {
return res.send('ok')
});
const server = app.listen(port, () => {
console.log(
Server is running on https://localhost:${port}
);});
console.log('Server started at:', new Date().toLocaleString());
`
The text was updated successfully, but these errors were encountered: