Azure / Azure/Azurite

Azurite occasionally gets very slow performance with multiple containers

Open
#719 8 comments 0 reactions 1 assignee Claimed by @blueww View on GitHub
blob-storage bug NewArch
Dominant language
TypeScript
Stars
2.3k
Forks
393
Avg merge
1d 20h
Merged PRs (30d)
36

Description

### 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
```yaml
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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.