You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by franz1981 <gi...@git.apache.org> on 2017/04/27 15:54:18 UTC

[GitHub] activemq-artemis pull request #1232: ARTEMIS-1131 Configure optimal GC setti...

GitHub user franz1981 opened a pull request:

    https://github.com/apache/activemq-artemis/pull/1232

    ARTEMIS-1131 Configure optimal GC settings

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/franz1981/activemq-artemis gc_doc

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/1232.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1232
    
----
commit ea60304cf0a40e5cd8b61c8733222f096d1111bd
Author: Francesco Nigro <ni...@gmail.com>
Date:   2017-04-27T14:50:11Z

    ARTEMIS-1131 Configure optimal GC settings

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #1232: ARTEMIS-1131 Configure optimal GC setti...

Posted by franz1981 <gi...@git.apache.org>.
Github user franz1981 commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1232#discussion_r113867388
  
    --- Diff: docs/user-manual/en/perf-tuning.md ---
    @@ -206,6 +206,14 @@ tunings won't apply to JDKs from other providers (e.g. IBM or JRockit)
         of your queues and the size and number of your messages. Use the JVM
         arguments `-Xms` and `-Xmx` to set server available RAM. We
         recommend setting them to the same high value.
    +    
    +    When under periods of high load, it is likely that Artemis will be generating 
    +    and destroying lots of objects. This can result in a build up of stale objects. 
    +    To reduce the chance of running out of memory and causing a full GC 
    +    (which may introduce pauses and unintentional behaviour), it is recommended that the 
    +    max heap size (`-Xmx`) for the JVM is set at least to 5 x the `global-max-size` of the broker.
    --- End diff --
    
    It is not a bad idea IMHO, but these hints are supposed to work best when a user is near 100% sure that the broker will be hammered by requests (without any expire queue) while retaining in memory the whole `global-max-size` bytes...
    I've the impression that raising the requirements (5  times more!) for the common use case to satisfy the uncommon ones could be to too restrictive, wdyt?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #1232: ARTEMIS-1131 Configure optimal GC setti...

Posted by mtaylor <gi...@git.apache.org>.
Github user mtaylor commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1232#discussion_r113889016
  
    --- Diff: docs/user-manual/en/perf-tuning.md ---
    @@ -206,6 +206,14 @@ tunings won't apply to JDKs from other providers (e.g. IBM or JRockit)
         of your queues and the size and number of your messages. Use the JVM
         arguments `-Xms` and `-Xmx` to set server available RAM. We
         recommend setting them to the same high value.
    +    
    +    When under periods of high load, it is likely that Artemis will be generating 
    +    and destroying lots of objects. This can result in a build up of stale objects. 
    +    To reduce the chance of running out of memory and causing a full GC 
    +    (which may introduce pauses and unintentional behaviour), it is recommended that the 
    +    max heap size (`-Xmx`) for the JVM is set at least to 5 x the `global-max-size` of the broker.
    --- End diff --
    
    I'm going ahead and merging this.  We can continue discussion about sensible defaults and send a separate patch.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #1232: ARTEMIS-1131 Configure optimal GC setti...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/activemq-artemis/pull/1232


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #1232: ARTEMIS-1131 Configure optimal GC setti...

Posted by mtaylor <gi...@git.apache.org>.
Github user mtaylor commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1232#discussion_r113885079
  
    --- Diff: docs/user-manual/en/perf-tuning.md ---
    @@ -206,6 +206,14 @@ tunings won't apply to JDKs from other providers (e.g. IBM or JRockit)
         of your queues and the size and number of your messages. Use the JVM
         arguments `-Xms` and `-Xmx` to set server available RAM. We
         recommend setting them to the same high value.
    +    
    +    When under periods of high load, it is likely that Artemis will be generating 
    +    and destroying lots of objects. This can result in a build up of stale objects. 
    +    To reduce the chance of running out of memory and causing a full GC 
    +    (which may introduce pauses and unintentional behaviour), it is recommended that the 
    +    max heap size (`-Xmx`) for the JVM is set at least to 5 x the `global-max-size` of the broker.
    --- End diff --
    
    +1 @franz1981 I think we already discussed this on IRC but, having the global-max-size being 1/5th of heap by default for the out of the box configuration seems like overkill.  These settings are meant to target a particular use case.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #1232: ARTEMIS-1131 Configure optimal GC setti...

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1232#discussion_r113757529
  
    --- Diff: docs/user-manual/en/perf-tuning.md ---
    @@ -206,6 +206,14 @@ tunings won't apply to JDKs from other providers (e.g. IBM or JRockit)
         of your queues and the size and number of your messages. Use the JVM
         arguments `-Xms` and `-Xmx` to set server available RAM. We
         recommend setting them to the same high value.
    +    
    +    When under periods of high load, it is likely that Artemis will be generating 
    +    and destroying lots of objects. This can result in a build up of stale objects. 
    +    To reduce the chance of running out of memory and causing a full GC 
    +    (which may introduce pauses and unintentional behaviour), it is recommended that the 
    +    max heap size (`-Xmx`) for the JVM is set at least to 5 x the `global-max-size` of the broker.
    --- End diff --
    
    Can you change the calculation for global-max-size then to be 1/5 of the -Xmx? 
    
    Look on ConfigurationImpl


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---