GithubHelp home page GithubHelp logo

Comments (6)

milismsft avatar milismsft commented on June 3, 2024 1

@tillig thanks for sharing :-)

from azure-cosmos-db-emulator-docker.

RichMercer avatar RichMercer commented on June 3, 2024

I reported this many many months ago and they said they were aware but still no fix.

from azure-cosmos-db-emulator-docker.

vgofaizen avatar vgofaizen commented on June 3, 2024

The same issue is happening on Hyper-V with current version 2.14.5. Recreation steps: install 2.14.5, the version without official release notes. Run. View Task Manager.

from azure-cosmos-db-emulator-docker.

dominioncfg avatar dominioncfg commented on June 3, 2024

same thing happening to me using the linux version

from azure-cosmos-db-emulator-docker.

tillig avatar tillig commented on June 3, 2024

I actually filed an Azure support ticket for this and got a response. Here's the relevant part of the response explaining why this is the case:

Behind all that Docker image, the ports and the Data Explorer, there's actually a Windows OS sandbox that runs more or less the same Windows 64-bit image and binaries that you will expect to run natively in on a Windows machine. Think of our container more or less like a "mini" Parallels or Virtual Box 🙂. In addition to all that, since the emulator relies on ports and HTTPS/TCP based listeners that constantly churn, looping, waiting and processing/executing requests, these also contribute to a high CPU usage. And since all these execution loops are Windows based and optimized, they are "translated"/"converted" into Unix kernel calls and that itself requires a lot more compute than when run natively.

My next question, of course, was whether there was an effort to port it to something more cross-platform so this wouldn't need to happen.

The Cosmos DB emulator has a very unique architecture, being very close to the actual implementation on the Azure. It allows the end user to configure their Cosmos clients just like when targeting the real thing; this is what makes it very appealing to our users actually. Some attempts were made to only provide a basic shim implementation of our Cosmos DB APIs, but they are lacking both the depth and the broad feature coverage.

So - they're aware of the problem, but the emulator itself isn't cross-platform and it sounds like trying to make it cross-platform is going to be a lot of work, prohibitively expensive, or both.

The suggestions as alternatives were:

  • If you're on Windows, use the actual Windows/installable version of the Cosmos DB emulator, not the Docker version.
  • Run a Windows VM and the Windows Cosmos DB emulator.
  • Use the Cosmos DB free tier and develop against real Cosmos DB.

from azure-cosmos-db-emulator-docker.

RichMercer avatar RichMercer commented on June 3, 2024

Interesting, thanks for sharing. It also sounds like it's extremely unlikely we'll be getting an ARM version for Apple Silicon any time soon.

from azure-cosmos-db-emulator-docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.