Skip to content

Show how many concurrent connections can be handled by http-kit

Notifications You must be signed in to change notification settings

jaysoncena/scale-clojure-web-app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scale clojure web application

Test how Clojure web application scales concurrent HTTP connections with http-kit

600K concurrent HTTP connections with 3G heap.

More info: 600k concurrent HTTP connections on PC, with Clojure & http-kit

If a more powerful hardware is at hand and you want to get a larger number:

Tuning TCP/IP buffer sizes

# edit run_server. give it more RAM, http-kit will use ~2k  per connection
java -server -Xms3072m -Xmx3072m  \
    -cp `lein classpath` clojure.main \
    -m main $@
// edit ConcurrencyBench.java.
final static int PER_IP = 20000;  // 63K is the upper bound
final static InetSocketAddress ADDRS[] = new InetSocketAddress[30];
// 600k concurrent connections
final static int CONCURENCY = PER_IP * ADDRS.length;

About

Show how many concurrent connections can be handled by http-kit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 80.6%
  • Clojure 15.2%
  • Shell 4.2%