Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Load and save+publish times increased between 12.0.0 and 12.1.2 #14842

Open
marklonquist opened this issue Sep 20, 2023 · 27 comments
Open

Load and save+publish times increased between 12.0.0 and 12.1.2 #14842

marklonquist opened this issue Sep 20, 2023 · 27 comments
Labels
affected/v12 area/backend state/reproduced state/sprint-candidate We're trying to get this in a sprint at HQ in the next few weeks type/bug

Comments

@marklonquist
Copy link

marklonquist commented Sep 20, 2023

Which Umbraco version are you using? (Please write the exact version, example: 10.1.0)

12.1.2

Bug summary

We have a huge ecom site which uses umbraco for content, and we make heavy use of Block List throughout the site plus have over 20 languages enabled.

On some of our nodes, we see an increase in load-time (GetById) from ~8s to ~60s and save+publish going from ~3m to >10m (times out).

While 3m is also incredible long, it does make sense when you have Block List, within Block List within Block List. Added a video showing the worst node we have.

Specifics

No response

Steps to reproduce

Have a site with 20+ languages, all with content, and deep nesting of Block Lists

recording.mp4

Expected result / actual result

Faster loading and faster saving


This item has been added to our backlog AB#33323

@github-actions
Copy link

Hi there @marklonquist!

Firstly, a big thank you for raising this issue. Every piece of feedback we receive helps us to make Umbraco better.

We really appreciate your patience while we wait for our team to have a look at this but we wanted to let you know that we see this and share with you the plan for what comes next.

  • We'll assess whether this issue relates to something that has already been fixed in a later version of the release that it has been raised for.
  • If it's a bug, is it related to a release that we are actively supporting or is it related to a release that's in the end-of-life or security-only phase?
  • We'll replicate the issue to ensure that the problem is as described.
  • We'll decide whether the behavior is an issue or if the behavior is intended.

We wish we could work with everyone directly and assess your issue immediately but we're in the fortunate position of having lots of contributions to work with and only a few humans who are able to do it. We are making progress though and in the meantime, we will keep you in the loop and let you know when we have any questions.

Thanks, from your friendly Umbraco GitHub bot 🤖 🙂

@Zeegaan
Copy link
Member

Zeegaan commented Sep 22, 2023

Hey I'm sorry you're experiencing that 😞
However I don't really have a giant site with 20+ languages on hand 😁

I would love if you could recreate this from a clean site, and then perhaps send me the backpack file of your database, that way it would be easy for me to test & reproduce 🤞

Even a database file of current database file would help 😁

@Zeegaan Zeegaan added the state/needs-more-info We don't have enough information to give a good reply label Sep 22, 2023
@marklonquist
Copy link
Author

@Zeegaan is there an email to which I can share the database?

@marklonquist
Copy link
Author

marklonquist commented Sep 23, 2023

@Zeegaan I created a repository with version that can load and save+publish the node we're really struggling with.
I've invited you as a collaborator.

The bacpac is in db_export folder

See the README.md

@marklonquist
Copy link
Author

Hi @Zeegaan - you had time to play around with this? :p

@Zeegaan
Copy link
Member

Zeegaan commented Oct 2, 2023

@marklonquist Yep just cloned it down, we need the username + password for the backoffice user though 😁

@marklonquist
Copy link
Author

Hi @Zeegaan - what email can I send the username/password to?

@Zeegaan
Copy link
Member

Zeegaan commented Oct 2, 2023

@andr317c
Copy link
Contributor

andr317c commented Oct 2, 2023

Hey! I tried looking at your issue. I was able to reproduce the high load times.
As you explained in the readme, I tried going to Configuration > Navigation Container > Burger Menu in the content section, to see how long it took to load, both for versions 12.0.0 and 12.1.2.

  • Version 12.0.0 Load time
    • First try: 28 seconds
    • Second try: 27 seconds
  • Version 12.1.2 Load time
    • First try: 4:13 minutes
    • Second try: 4:44 minutes

The load times seem to be around 9-10 times slower in version 12.1.2 than it was in 12.0.0.

I was not able to reproduce the slow Save and Publish time because I ran into this error
image

I will mark this issue as a sprint candidate.

Please let me know what I am missing so I'm able to Save and Publish! 😄

@andr317c andr317c added state/sprint-candidate We're trying to get this in a sprint at HQ in the next few weeks state/reproduced area/backend affected/v12 and removed state/needs-more-info We don't have enough information to give a good reply labels Oct 2, 2023
@marklonquist
Copy link
Author

@Zeegaan I added the missing property editor - seems to be able to save and publish now

@andr317c
Copy link
Contributor

andr317c commented Oct 4, 2023

Hey again, I tried running the project again with the missing property editor. I ran into another issue when trying to Save and Publish, this one:
image
Save and Publish was running for 23 minutes before I encountered this error. So I can confirm that the Save and Publish times are a lot longer in 12.2.0 than in 12.0.0 for your project

@marklonquist
Copy link
Author

has there been any progress on this? :)

@dawoe
Copy link
Contributor

dawoe commented Nov 9, 2023

Hi @marklonquist, @Zeegaan, @andr317c

Could be related to this issue (#14936 ). We experiencing a slow back office as well when making use of the block list with a lot of culture and segment variants.

@bielu
Copy link
Contributor

bielu commented Jan 22, 2024

So had debugging session and figure out a lot of slowiness will come from similar issue which was caused by block editor, which would be solved by pr, a lot of of slowiness will come also from PropertyValidationService which will load datatype for each property in each culture 😱, and based on that what i learned from fixing Block editor it has a lot of impact on performance, so going down umbraco loads almost 1.3k duplicated datypes in my specific case! so it would add up up to almost 2s!

@nielslyngsoe
Copy link
Member

Hi @Migaroez

Does this PR #15731 fixes this or is there more that can be done — this issue is getting a bit stale so would be nice to give an update on the matter. Thanks in advance.

@marklonquist
Copy link
Author

We are on 13.4.0-rc and we still have issues with long save+publish times

@marklonquist
Copy link
Author

Does seem like it's way better in Umbraco 15. Just saved 86 languages, each having 2000 blocks (so 172000 total blocks) in 45 seconds.. That's pretty good.

@bielu
Copy link
Contributor

bielu commented Nov 29, 2024

@marklonquist v15 is not nucache based so same issue is not applying as memory cache is differently used. Also I wouldn't use v15 in production tbh.

@marklonquist
Copy link
Author

@marklonquist v15 is not nucache based so same issue is not applying as memory cache is differently used. Also I wouldn't use v15 in production tbh.

we have a major assignment in migrating from v13, so there will be plenty of updates to v15 before we are done :P It should mature enough before we are done :D

@bielu
Copy link
Contributor

bielu commented Nov 29, 2024

@marklonquist I would personally wait till 17.3 or 5 but yeah that's not suitable case for most

@marklonquist
Copy link
Author

marklonquist commented Dec 2, 2024

After some more testing, Umbraco is still slow with a lot of localized content using block list.

Sadly, we still migrating to other CMS because of this. 😔

@bielu
Copy link
Contributor

bielu commented Dec 3, 2024

@marklonquist did you try to profile why it is slow? As I am curious as v15 shouldn't share as much this issue as V13 did 🤔

@marklonquist
Copy link
Author

With ~90 languages and block lists inside block lists, it just seem to be having issues. No profiling. Just a comparison between our current v13.4 instance and a fresh v15.

Could try to profile it.

@bielu
Copy link
Contributor

bielu commented Dec 3, 2024

I am not that familar with v15 code but you can try #15573 similar steps to mine from v13 :) I had a lot fun learning that memory cache done by umbraco cause delays by over locking memory cache

@marklonquist
Copy link
Author

marklonquist commented Dec 4, 2024

Did some profiling. It seems it's just because of the amount of SQL calls (one per culture)

GET https___localhost_44357_api_testdata (4602.63 ms) - Profiling Results_compressed.pdf

(this was using test data, with 100 rather simple blocks in each culture)

@bielu
Copy link
Contributor

bielu commented Dec 4, 2024

@marklonquist that result seem to be worst than v13 about amount of sql queries 😱, As you already prepared test data can you share it? i might have a look into it as wanted get familiar with v15 code base anyway lol
Can you also confirm if v13 was faster/slower?

@marklonquist
Copy link
Author

@bielu the performance between v13 and v15 seems to be the same in terms of this issue :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affected/v12 area/backend state/reproduced state/sprint-candidate We're trying to get this in a sprint at HQ in the next few weeks type/bug
Projects
None yet
Development

No branches or pull requests

6 participants