Your benchmark is likely unrealistic - it should use consistent connections to give any kind of realistic numbers (clients always keep connections). ab is also not the best tool around (hasn't been since a long time), please try `wrk`.
Your benchmark is effectively benchmarking materialization time of new connections - which is a known worst case scenario foe Akka HTTP. We're in the middle of optimising this currently by the way, with faster materialization, however it still is not realistic if you want to measure RPS - then you should use ab with -k or use a proper tool like wrk. Happy hakking. -- Konrad `ktoso` Malawski Akka <http://akka.io> @ Lightbend <http://lightbend.com> On 6 December 2016 at 10:42:42, Charley Kayser (kayser.char...@gmail.com) wrote: Hi I'm testing akka-http and I try to measure how many concurrent connections it can handle on my company's Linux VM (x86_64, 4 CPU). I use the simple http server implementation provided in the akka-http documentation which you can find in the following github project created for illustrating this ticket: https://github.com/jycr/simple-akka-http Using ApacheBench to stress the application (with option -c 2000), I measure that the server can't handle more than around 1000 requests per second. Without success I changed the following to try to go over this limit: - updated the Linux settings to allow more than 4000 TCP concurrent connections (ulimit -n, sysctl net.core.somaxconn, ifconfig txqueuelen, sysctl net.core.netdev_max_backlog, sysctl net.ipv4.tcp_max_syn_backlog) - set akka.http.server.max-connections to 2048 I used YourKit to monitor the app and I could see the number of open sockets didn't go over the limit of 1200 open sockets per second. This makes me think the problem could be located in akka-io or in some kind of back-pressure feature which tell the underlying nio.Selector not to accept too many connections at once. What am I missing here ? Thanks for your help Attached a screenshot of YourKit showing the socket metrics <https://lh3.googleusercontent.com/-iYRnadJsvyI/WEaGyJbP_EI/AAAAAAABHvA/JZcloGEdjDsLXtEhmvWTU3P-VODyWkS6QCLcB/s1600/yourkit_sockets.png> -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.