MongoEngine / MongoEngine/mongoengine

Major performance drop between 0.8.7 and 0.9.0

Open
#1,073 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

High Priority Performance
Dominant language
Python
Stars
4.3k
Forks
1.2k
Avg merge
4h 41m
Merged PRs (30d)
11

Description

I've just tried to pass my production servers from 0.8.7 (and some subclasses) to 0.10.0 and had to rollback. I've tried with 0.9.0 as a provisory solution but it was exactly the same.

Some changes for the 0.9.0 introduced some serious performance drop, only noticeable at a certain load. We had a huge increase in running processes and CPU usage coming from the system and not from the user, in parallel to load increase (increasing exponentially with the load, behaving normal at low level).

Just creating this ticket to remember to take a deeper look at performance. I've been through the diff between 0.8.7 and 0.9.0 and tried to make a branch rolling back some of the changes, without success for now...

If somebody is interested I think this effort could benefit to many people.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the 0.8.7 and 0.9.0 diffs, then reproduce the reported behavior under increasing load on the affected production-like setup. Profile system process counts and CPU usage to isolate the regression; done means the responsible change is identified and the performance drop is addressed or documented with reproducible evidence.

Written by the indexing model from the issue text.

Assessment

Tech stack
mongodb, python
Domain
database, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.