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

Removed call to System.gc when terminating a thread. #136

Closed
wants to merge 3 commits into from

Conversation

mariusj
Copy link
Contributor

@mariusj mariusj commented Sep 24, 2015

This call kills performance of the server (up to 10x slower throughput).
Bellow is sample report from XpagesToolbox monitoring.

Type Count Total time Max time Avg time Min time Specific time
ODA disabled 500 671 80 1 0 140
develop 500 21461 100 43 20 20259
with fix 500 761 60 2 0 120

I've opened an empty XPage using 100 threads. First result is with ODA completly disabled. Second is with current develop branch, third is with System.gc() removed.

Maybe it will fix #128.

…performance of the server (up to 10x slower throughput).
@the-ntf
Copy link
Contributor

the-ntf commented Sep 25, 2015

The System.gc() there in order to recover the WeakReferences to the
reference queue of lotus.domino handles that need to be auto-recycled.
However, in the try block, there is a forced recycle of all outstanding
Sessions, which itself should recycle any outstanding lotus objects because
they are all parented to Sessions.

Therefore I think this is a good change, and I've tested it with success,
so I'm committing it to my branch. Not through the pull request, though,
because I have other changes in my Factory that need to stay intact. :)

Well-spotted!

On Thu, Sep 24, 2015 at 3:12 AM, Mariusz Jakubowski <
notifications@github.com> wrote:

This call kills performance of the server (up to 10x slower throughput).
Bellow is sample report from XpagesToolbox monitoring.
Type Count Total time Max time Avg time Min time Specific time ODA
disabled 500 671 80 1 0 140 develop 500 21461 100 43 20 20259 with fix 500
761 60 2 0 120

I've opened an empty XPage using 100 threads. First result is with ODA
completly disabled. Second is with current develop branch, third is with
System.gc() removed.

Maybe it will fix #128

#128.

You can view, comment on, or merge this pull request online at:

#136
Commit Summary

  • Removed call to System.gc when terminating a thread. This call kills
    performance of the server (up to 10x slower throughput).

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#136.

@mariusj
Copy link
Contributor Author

mariusj commented Oct 5, 2015

The System.gc call was not removed from 2.0.0 release so this release is also affected by this huge performance slowdown.

@jesse-gallagher
Copy link
Member

The change hasn't made it up to the GitHub repo yet, so it wasn't around for 2.0.0 packaging. Presumably, it'll make it into a release shortly.

@jesse-gallagher
Copy link
Member

Looks like this was indeed implemented with a wave of Nathan's changes a couple weeks ago, so I'll close this pull request.

@MarkusLanger
Copy link

When will there be a new version on the OpenNTF project?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants