[
https://issues.apache.org/jira/browse/ARIES-1357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bas updated ARIES-1357:
-----------------------
Attachment: patch-all-performance-fixes.patch
We went further with this patch, it includes previous performance improvements.
With the previous patch it took approximately 1min for flow 201 to install,
with this patch it is around 15 sec.)
Summary of changes:
1) Caching requirements, it recognizes previously resolved requirements and
re-uses the capabilities that were already found.
2) Constituent capabilities are now pre-calculated in the BasicSubsystem
3) A filter for the requirement is now calculated one time in the findProviders
part instead of calculating it when matching for a capability.
4) Only system capabilities are validated for regions that can export since the
other capabilities are already checked or are valid because they come from the
content.
5) System and content repository are cached in the resolver and not re-created.
6) Pre-calculating valid regions for resolving capabilities (can be done better
but I'm not sure on how to proceed on this).
7) Tested with the patches that were created by John Ross on other performance
improvements (The patches had the desired performance improvement)
> BasicSubsystem can be used by the subsystem install process a factor 6 times
> faster
> -----------------------------------------------------------------------------------
>
> Key: ARIES-1357
> URL: https://issues.apache.org/jira/browse/ARIES-1357
> Project: Aries
> Issue Type: Improvement
> Components: Subsystem
> Affects Versions: subsystem-core-1.2.0, subsystem-2.0.1
> Environment: linux windows java
> Reporter: Bas
> Assignee: John Ross
> Labels: patch, performance
> Fix For: subsystem-core-1.2.0, subsystem-2.0.1
>
> Attachments: ManyFeaturesWithSharedBundlesTest.java,
> nl.capesystemsintegration.emagiz.flow.emagiz.mikrotik.process_1.1.0.esa,
> patch-all-performance-fixes.patch, patch-basicsubsystem.patch,
> performance-105-afterrestart.nps, subsystem-basicsubsystem-patch.txt
>
>
> The problem was poor performance while installing a subsystem on a container
> with 200+ subsystems installed.
> While doing performance analyses on the subsystem install process we noticed
> the BasicSubsystem is working a lot with its manifest instead of
> pre-calculating data that is used a lot.
> While using the pre-patch version of BasicSubsystem a subsystem install
> (while having 200+ running subsystems) could take more than a minute. While
> using the patched version where we pre-calculate highly used data when a new
> subsystem manifest or deployment manifest is set we could bring it down to 10
> seconds. We only pre-calculated the data that was highly used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)