[ 
https://issues.apache.org/jira/browse/ARTEMIS-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18058252#comment-18058252
 ] 

ASF subversion and git services commented on ARTEMIS-5893:
----------------------------------------------------------

Commit 2e390b4fa0842ed8d3557a158c9ca4d204687cf3 in artemis's branch 
refs/heads/main from Justin Bertram
[ https://gitbox.apache.org/repos/asf?p=artemis.git;h=2e390b4fa0 ]

ARTEMIS-5893 further optimize ManagementService

Changes include:

 - Eliminating the use of ResourceNames values for key names when using
   well-known controls (e.g. address, queue, etc.).
 - Eliminating AMQP-specific registration methods in lieu of more
   general "untyped" methods since the Core broker doesn't know anything
   about AMQP-specific controls.
 - Deprecating the JMX-specific registration methods. The
   ManagementService itself will take care of JMX registration based on
   the broker's configuration.
 - Adding specific management methods to get names & counts for various
   controls instead of always creating lists. This should reduce GC
   pressure especially in high-load use-cases.
 - Leveraging filtering where appropriate for the management API.
 - Adding JavaDoc where method usage isn't obvious.
 - Eliminating Maps for server & Hawtio controls since they are
   singletons.
 - Restoring & deprecating getResource and getResources methods to
   ManagementService since they might be used by 3rd parties.
 - Eliminated all use of getResource & getResources methods throughout
   the code-base.
 - Eliminating a handful of unnecessary methods.
 - Eliminating unnecessary casts.


> Optimize ManagementService
> --------------------------
>
>                 Key: ARTEMIS-5893
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5893
>             Project: Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>
> Currently 
> {{org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl}}
>  has a single instance of a {{java.util.Map}} to manage _every single_ 
> management object. In high-volume use-cases this map might contains millions 
> of entries. This can slow down management operations on particular resources 
> (e.g. addresses or queues) because the broker has to look through the whole 
> map to gather and report on that particular resource.
> Performance could be improved by partitioning each resource type into its own 
> map. This will reduce the overall time needed to gather, filter, etc.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to