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

Improve performance for publish/discard of workspaces by using the synchronous mode #4285

Closed
skurfuerst opened this issue May 16, 2023 · 2 comments · May be fixed by neos/neos-ui#3494 or #4286
Closed
Labels
Milestone

Comments

@skurfuerst
Copy link
Member

skurfuerst commented May 16, 2023

During publishing of nodes, we usually fork sub-processes for event processing (for every event). This drastically slows down these operations. We can enable synchronous mode in these methods, to speed up the system at least by a factor 2-3 for these operations.

It could have some side-effects if caches were not properly cleared,
but at least I did not see any yet (and we run tests often with this flag).

Related: #4388

@skurfuerst skurfuerst converted this from a draft issue May 16, 2023
@skurfuerst skurfuerst self-assigned this May 16, 2023
@skurfuerst skurfuerst added the 9.0 label May 16, 2023
@skurfuerst skurfuerst added this to the 9.0 (ES CR) milestone May 16, 2023
skurfuerst added a commit to neos/neos-ui that referenced this issue May 16, 2023
... this ensures that during publishing of nodes, we do not fork
sub-processes for event processing (for every event). This speeds
up the system usually by at least factor 2-3 during these operations.

It *could* have some side-effects if caches were not properly cleared,
but at least I did not see any yet (and we run tests often with this flag).

Resolves: neos/neos-development-collection#4285
skurfuerst added a commit that referenced this issue May 16, 2023
... this ensures that during publishing of nodes, we do not fork
sub-processes for event processing (for every event). This speeds
up the system usually by at least factor 2-3 during these operations.

It *could* have some side-effects if caches were not properly cleared,
but at least I did not see any yet (and we run tests often with this flag).

Resolves: #4285
@skurfuerst skurfuerst moved this from In Progress 🚧 to Under Review 👀 in Neos 9.0 Release Board May 16, 2023
@mhsdesign mhsdesign moved this from Todo to In Progress 🚧 in Neos 9.0 Release Board Oct 16, 2023
neos-bot pushed a commit to neos/neos that referenced this issue Oct 25, 2023
... this ensures that during publishing of nodes, we do not fork
sub-processes for event processing (for every event). This speeds
up the system usually by at least factor 2-3 during these operations.

It *could* have some side-effects if caches were not properly cleared,
but at least I did not see any yet (and we run tests often with this flag).

Resolves: neos/neos-development-collection#4285
@ahaeslich ahaeslich moved this from In Progress 🚧 to Prioritized 🔥 in Neos 9.0 Release Board Nov 10, 2023
@mhsdesign
Copy link
Member

For testing i enabled the synchronous mode for publishing Nodes in the Neos.Ui and yes the performance will be drastically improved.

Maybe by only blocking for the content graph we can speed up the process while still maintaining our philosophy? (as suggested by @bwaidelich)

$cr->handle($command)->block(ContentGraphProjection::class);

// next code that requires the ContentGraphProjection to be up to date but doest "care" about other projections.

Related: #4746

I think releasing Neos 9 without any further performance improvements - especially if the are so easy and only our own concepts are holding us back - would be a mistake.

@bwaidelich
Copy link
Member

This will be obsolete with #4746

@github-project-automation github-project-automation bot moved this from Prioritized 🔥 to Done ✅ in Neos 9.0 Release Board Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
3 participants