Skip to content

Performance: Degradation in throughput v13 vs 15 #18892

@enkelmedia

Description

@enkelmedia

Which Umbraco version are you using?

15.3.0

Bug summary

While testing out v15 with a "real world database" from one of our projects I'm noticing quite a difference in throughput between v13 and v15.

I've taken the database from a v13 website and hooked it up with two clean Umbraco-projects, one for v13 and another for v15. In the Umbraco 15 version I configured the DocumentBreadthFirstSeedCount to 50000 to get all content into the cache.

I'm using the exact same views and code on both versions, it's basically:

  • Some traversing to create a menu based on the root node and it's children.
  • A container node with around 2500 descendants (in different depth of the tree).

The view that I'm testing with is a simple cshtml file that just loops over and render nodes with links.

To even get close to comparing the performance, I first had to apply this hack: #18869

After this I ran a couple of simple load tests to compare the throughput.

Umbraco 13.7.2
Median load time: 9ms
Request per second: 343

Umbraco 15.3.0
Median load time: 28ms
Request per second: 131

I'm also noticing quite a different behavior when it comes to GC-pressure:

Umbraco 13:
While the memory usage goes up, the GC-pressure is not that high.

Image

Umbraco 15:
In Umbraco 15, the GC runs almost all the time.
Image

I'm not sure if all these test are "state of the art" but I'm confident that there is a big difference in the "out of the box" performance between the versions and I really think that this is something that is important and that should be addressed in upcoming releases.

Specifics

No response

Steps to reproduce

See above

Expected result / actual result

No response


This item has been added to our backlog AB#51952

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions