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.1.16 still slow on Java8 without -Xcompile.invokedynamics=false #5238
Comments
The cause of this is not compile.invokedynamics=false. I was not running tomcat correctly. But there is definitely a performance problem when running under tomcat. I am investigating further. |
I downloaded the latest version of Wildfly (13.0.0 Final). The speed problems are clearer. It appears to take upto 20 seconds to deliver the HTTP response from the server to the browser! One example of a simple show page: I believe this is the same behaviour as in tomcat. Does anyone know why a warbler generated WAR file should display such behaviour? Is puma (the default web server) getting in the way of tomcat or wildfly? |
I solved my problem. I still have no idea why both tomcat 7.0.53 and wildfly 13.0.0 Final take so long to deliver the HTML output back to the browser. I should note that generation of the views often took more than a second, which seems rather long for my simple views (just a table with 50 rows and 4 columns). I'm going to close this ticket now |
As I have been able to reproduce this problem with a small sample rails app, I have reopened this issue. Code and instructions for building the rails app are here: https://github.com/ninkibah/tc2 After starting tomcat If you refresh the page from 5-20 times, you will notice that at least one of the Running as a standalone puma app shows no performance problems. |
Awesome, thank you for the reproduction. I suspect something about deployment in a container is messing with how we generate invokedynamic calls. |
I appreciate how much you and Tom and the rest of the team do, so I feel obliged to make your jobs as easy as possible. However, to make my stripped down app, I failed to create a new rails app. For some reason on deployment, I kept getting errors from bundler not being able to find the rake gem. I suspect, I will have to create a ticket in jruby/warbler, as I completely failed to see any difference between my stripped down app, and a new rails app. |
@ninkibah Ok I'm going to re-close this. If you can figure out a good way for us to reproduce it, we can help. It would also help to get your (JVM flag) -XX:+PrintGCDetails output around the time it slows down, and perhaps output from (JRuby flag) -Xjit.logging or (JVM property) jruby.jit.logging=true. |
Environment
Expected Behavior
Actual Behavior
Solution
I started tomcat with -Xcompile.invokedynamics=false and the problem disappeared. This was the fix recommended 4 years ago in #1858
As Java 8 is extremely old, and tomcat 7.0.53 is also not new, it may not be worth fixing this problem.
The text was updated successfully, but these errors were encountered: