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

Jruby 9 performance degradation on windows os mostly #5060

Closed
SzymonKowalczyk opened this issue Feb 23, 2018 · 5 comments
Closed

Jruby 9 performance degradation on windows os mostly #5060

SzymonKowalczyk opened this issue Feb 23, 2018 · 5 comments

Comments

@SzymonKowalczyk
Copy link

Hi all

We develop an application using rails framework running on JRuby.

Our application mostly connect to one db copy some data do 2nd db and then recalculate/transform data to other tables in 2nd db.

We are using Sequel ORM for database operations (http://sequel.jeremyevans.net/).

We finished migration form JRuby 1.7 to JRuby 9 and we found performance issue.

What is the most interesting our application run on 2 OS'es Windows and Linux and performance degradation is only visible on Windows OS.

We prepared benchmark for application and on Windows OS we have degradation from 4h (1.7.25) to 5h (9.1.15).

On Linux Red Hat 7 there is almost no difference (4h).

I read most of the issues related to performance but I couldn't found my case.

Environment

Provide at least:

  • JRuby version 9.1.15
  • Operating system and platform Windows Server 2012 R2

I used --profile.html on both version of JRuby for short data process that also was slower on 9.x, attached to the issue.

I can run some other test and investigation if needed.

perf.zip

@headius
Copy link
Member

headius commented Feb 23, 2018

Unfortunately these two profiles look mostly the same, and only show a single thread waiting on a lock.

It is interesting that you are only seeing the degradation on Windows. I need a bit more information.

  • What version of Java on Windows?
  • Do you have a smaller benchmark you can run?

The --sample flag will enable a JVM-level profiler that may give us more information. It outputs to the console when the JVM exits.

If you would like to chat about your issues you can join us on Gitter, IRC, or the mailing list: http://jruby.org/community

@SzymonKowalczyk
Copy link
Author

SzymonKowalczyk commented Mar 6, 2018

Hi

Sorry for delay but I hit ridiculous problem:

failed:.org.jruby.rack.RackInitializationException: org.jruby.exceptions.MainExitException: jruby: unknown option --sample

this worked fine:
--profile.html --profile.out pr.html

Any idea?

@headius
Copy link
Member

headius commented Mar 15, 2018

@SzymonKowalczyk Sorry for delay...I had a busted computer.

That error would happen if JRuby is being launched some way other than via the bin/jruby launcher. The --sample flag just gets translated to JVM flag -Xprof, so you can try that as well.

@SzymonKowalczyk
Copy link
Author

Thank you for your replay.

As our process take some time I have some updates below:

We run 9.1.16 and there is a progress for huge test environment:

9.1.16 -> 4:20:12
9.1.15 -> 5:03:03
1.7.25 -> 3:55:13

I triggered repeat test on 9.1.16 and just after it I will generate requested dumps on 1.7.15 and 9.1.16.

What is the maturity of 9.2 I can try run test using development version of Jruby.

Regards

@SzymonKowalczyk
Copy link
Author

I've tested JRuby 9.1.17 and perf is fine, also with 9.2, we can close this issue.

Thanks for support and response

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

No branches or pull requests

3 participants