Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] Trying to make sense of slow server response times

Dear Jetty Devs and Community,

hopefully I've come to the right place to ask for help with the following issue. I am puzzled by the server response times I am measuring using a Jetty instance. I reduced the issue such that now there are only two HttpServlets. One just returns a constant number and serves as a baseline. The other calculates and returns the sum of all integers in an array. I also measure the time the actual summation takes.

On some machines everything seems fine: The response time of the servlet
that does the summation is roughly equal to the time the summation is expected to take. Querying the server only adds a minimal overhead.

But on others there is significant overhead (the servlet response is much slower than the actual summation), and on some the overhead is even proportional to the size of the array!

You can find the benchmark, instructions how to run it and a more detailed explanation of my results (in README.md) here: https://github.com/easbar/jetty_jmh_benchmark/commit/f32ca12256021c69589a90f460097887ac802740. I am referencing to this specific commit to avoid confusion in case there will be changes to the benchmark later.

I have tried using profilers and JVM flags like `-XX:+PrintCompilation` to find out what causes this slow down, but the server response times I am measuring still remain a complete mystery to me. They are very reproducible, i.e. whenever I run the benchmark I pretty much get the same result, but (qualitatively) different results for different machines. I also tried different JDK versions (8,11,17), and Jetty 9&11, but that does not seem to change anything.

Frankly speaking I don't really know what else to try to get to the bottom of this, which is why I came here.

Any kind of help would be highly appreciated, e.g.

* running the benchmark and posting your results
* looking at the results in README.md and giving some advice what I could do to debug this, or thinking about what *could* be the cause for such behavior

Thanks in advance!







Back to the top