You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working on upgrading a Rails 4.2 application from jruby-1.7.23 to jruby-9.0.4.0. This is a fairly large app, running on trinidad and using MySQL and MongoDB.
I am opening this ticket as suggested by @headius on IRC (Thanks to @Enobo too for helping out).
The first indication of performance issues is our specs take way longer. On 1.7.23 it takes 17:55, on 9.0.4.0 it takes 41:15. Over 4K specs running.
Our unmodified code, running locally on trinidad and hitting a single endpoint (it's a pretty slow one to start with, that involves quite a bit of database activity). The benchmark was conducted with siege, twice on each version (for warmup):
If I modify the code so that the controller does nothing (except for before_filters and auth token validation) and returns head :ok, then the performance is quite similar (9.0.4.0 is 6% slower). This would indicate that there is something inside our code.
As suggested by @headius, I tried runnig the same benchmark with profiling in --sample mode. You can see the results for both 1.7.23 and 9.0.4.0 in this gist. I would appreciate some help reading the output: I can't tell from that where I should focus my attention on.
I also profiled the inside of the controller action in 9.0.4.0, but I can't see an obvious bottleneck either. The results are in the same gist.
I appreciate guidance and direction to get to the bottom of this.
Thanks,
The text was updated successfully, but these errors were encountered:
I'm working on upgrading a Rails 4.2 application from jruby-1.7.23 to jruby-9.0.4.0. This is a fairly large app, running on trinidad and using MySQL and MongoDB.
I am opening this ticket as suggested by @headius on IRC (Thanks to @Enobo too for helping out).
The first indication of performance issues is our specs take way longer. On 1.7.23 it takes 17:55, on 9.0.4.0 it takes 41:15. Over 4K specs running.
Our unmodified code, running locally on trinidad and hitting a single endpoint (it's a pretty slow one to start with, that involves quite a bit of database activity). The benchmark was conducted with siege, twice on each version (for warmup):
For 1.7.23:
For 9.0.4.0
As you can see the response time is 42% slower.
If I modify the code so that the controller does nothing (except for before_filters and auth token validation) and returns
head :ok
, then the performance is quite similar (9.0.4.0 is 6% slower). This would indicate that there is something inside our code.As suggested by @headius, I tried runnig the same benchmark with profiling in
--sample
mode. You can see the results for both 1.7.23 and 9.0.4.0 in this gist. I would appreciate some help reading the output: I can't tell from that where I should focus my attention on.I also profiled the inside of the controller action in 9.0.4.0, but I can't see an obvious bottleneck either. The results are in the same gist.
I appreciate guidance and direction to get to the bottom of this.
Thanks,
The text was updated successfully, but these errors were encountered: