Petrik de Heus
Petrik de Heus
Looks great! I think it would be nice if we can somewhat use the same structure as the instrumentation guide (I think this already is the case mostly).
Thanks @MSP-Greg I did see the following warning in the log of TechEmpower: rack-jruby: Warning: The code in the `before_fork` block will not execute in the current Puma configuration. The...
The latest run of TechEmpower used Puma 7.1. I was hoping to see an improvement but the results didn't seem to change: https://www.techempower.com/benchmarks/#section=test&runid=8a1c5db5-24d1-490c-ae8e-4b1632181343&p=zik0zj-zik0zj-zih7un-zik0zj-zik0zj-2t4v
Changing the `max_keep_alive` to `Float::INFINITY` instead of the default `25` does improve things somewhat locally. I don't think the `max_keep_alive` should be lower than the `max_threads` (`512` in this case)....
Ah, sorry it does default to 999 now. I was looking at [the commit that introduced](https://github.com/puma/puma/commit/1a55514dd9987ef801a5187824d8673249cb245e) the setting. But you [changed it to 999](https://github.com/puma/puma/commit/95e4235b7c2a5aa4cfde30738f64343d04f593b5).
It seems setting the threads to the number of processors * 1.5 improves performance to Puma 6 levels: | branch_name| json| db|query|update|fortune|plaintext| |---------------------|-----|-----|-----|------|-------|---------| | master|15415|14528|12212| 11690| 13936| 144433| | threads...
@headius the dockerfile in the techempower benchmark uses JRuby 10.0
Thanks for looking into this @headius !
@joanhey This can be closed right?
@schmijos You could try adding a new method to: https://github.com/rails/rails/blob/69763325dd86f839a58e2096785b31a66b763378/railties/lib/rails/commands/console/irb_console.rb