question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Azurite occasionally gets very slow performance with multiple containers

See original GitHub issue

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

  azurite:
    image: "mcr.microsoft.com/azure-storage/azurite"
    container_name: aip-azurite
    restart: unless-stopped
    ports:
      - 10000:10000 # Storage
      - 10001:10001 # Queues
    volumes:
    - azurite:/data
    environment:
#      Have azurite pretend to be multiple storage accounts so we can use it for the entire local setup
#      The last storage account is the "default" one for the emulator so anything relying on the default account existing will still work.
#      Zm9v is "foo" base64encoded
      - "AZURITE_ACCOUNTS=stoperational001:Zm9v;stingest001:Zm9v;stcontext001:Zm9v;stcoord001:Zm9v;devstoreaccount1:Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="
    command: "azurite --blobHost 0.0.0.0 --queueHost 0.0.0.0 --loose -l /data"

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.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
bluewwcommented, Mar 29, 2021

@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

0reactions
GeeWeecommented, Apr 12, 2021

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

'Initialize containers' is VERY slow - Visual Studio Feedback
In my Azure DevOps pipeline, the 'Initialize containers' stage has suddenly become a LOT slower. It used to take about 40 seconds, now...
Read more >
Application performance is slow deployed on azure container ...
I managed to deploy it successfully but I'm observing the performance of the application is super slow and it's taking 4-5 seconds every...
Read more >
How to Optimize .NET Pipelines in Azure DevOps ... - Tinkerer
Speeding up container builds​​ Almost 40 seconds to spin up the required containers is a long time. I looked into whether or not...
Read more >
Diabetic Nephropathy Treatment Drugs - Advocates for Children of ...
How Long After You Stop Soda Does Your Blood Sugar Lower? These two sentences are nothing more joint pain damage diabetes medication than...
Read more >
Another reason why your Docker containers may be slow
perf (sometimes called perf_events or perf tools, originally Performance ... It is called for every “log to file” event and multiple instances of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found