Open GeeWee opened 3 years ago
@GeeWee
Would you please share the Azurite debug log when the issue happen? And we can see which operation is slowing down.
I will. Do you simply want me to collect them with the --debug switch?
@GeeWee
You can collect debug log with --debug parameter.
And as you are on Docker, you also need map the debug log folder to a local folder, like :
docker run -p 10000:10000 -p 10001:10001 -v C:\workspace:/workspace mcr.microsoft.com/azure-storage/azurite azurite -l /workspace -d /workspace/debug.log --blobHost 0.0.0.0 --queueHost 0.0.0.0
,and get debug log in local folder C:\workspace
I no longer seem to be able to reproduce this. Sorry for the trouble. Closing.
But my colleague has just encountered the same bug. I'm reopening. Even though I seem unable to pin it down. When enabling debug logging the problem seems to go away, so I can't provide any more info unfortunately.
We managed to get a debug log with this issue:
The last couple of thousand lines are in this gist: https://gist.github.com/GeeWee/3b01e866fb83af9d03ff48b762c15cdd
Let me know if you need the full log, but it is pretty long (0.5gb)
Some extra information that might be relevant:
The attached log only includes traffic to Queue service. Can you please attach the full log or at least ending logs including the request to Blob sersvice?
Apologies. I have attached more logs to the following gist
I have also uploaded the full log to OneDrive - note however that it's 250mb so reasonably large.
Which service(blob, file, queue, table) does this issue concern?
Blob
Which version of the Azurite was used?
I have pulled down the latest docker image from
mcr.microsoft.com/azure-storage/azurite
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
DockerHub via Docker on Fedora 33.
What's the Node.js version?
I would imagine that doesn't matter for the docker version.
What problem was encountered?
I'm having a hard time pinning down the exact reproduction case, but it goes something like this. Azurite is configured through the following docker-compose block
As you can see, there's multiple containers and multiple hosts, and it has a mounted datapath that is a docker volume.
At some point after use (Docker volume shows 500mb+ used), Azurite just starts to.. hang. Response times go from very snappy to multiple seconds, and as a result services start timing out.
I can reproduce this semi-reliably by putting load on two or more containers. You'd think this would just be a normal performance limitation, but even after restarting Azurite, the performance is still so degrade that it's not really usable.
I would love to try to pin down the issue further, but I'm unsure what logging switches I can dial to get some performance characteristics.
Have you found a mitigation/solution?
Clearing docker volume and restarting everything.