Skip to content


Subversion checkout URL

You can clone with
Download ZIP
a simple, friendly webserver
Branch: master
Failed to load latest commit information.
src/aloha mark 1.0.2
test remove turd file
.gitignore update to use netty 3.5.11.Final
.travis.yml fix .travis.yml
README.markdown update readme
project.clj mark 1.0.2


Aloha is a webserver, implemented using Netty and Clojure.

(use 'aloha.core)

  (fn [request]
    {:status 200
     :headers {:content-type "text/plain"}
     :body "Aloha!\n"})
  {:port 8080})

Aloha is a reference implementation of a Clojure/Netty webserver, or basically Aleph without any extraneous fluff. It exists as a reminder that Aleph could be faster, but also as a very fast, fully functional webserver in its own right.

You can use Aloha in your own project by adding this to your project.clj:

[aloha "1.0.1"]

Since much of Aloha's existence will be spent returning a single string over and over again, it's easy to start up a server for benchmarking.

$  lein run &
Server listening on port 8080.
$  curl localhost:8080

If you have any ideas on how to improve Aloha's performance, please send a pull request.



$  sudo sysctl -w net.inet.tcp.msl=1000
net.inet.tcp.msl: 15000 -> 1000
$  httperf --num-conns=16 --rate=16 --num-calls=100000 --port=8080

If you don't have httperf installed, try brew install httperf or port install httperf. If neither of those work, consider installing Homebrew.

If you want to be contrary and use ab instead, be aware that the ApacheBench binary is broken on OS X Lion. You can fix it following these instructions.

In Linux

$  echo 1 | sudo tee /proc/sys/net/ipv4/tcp_tw_reuse
$  httperf --num-conns=16 --rate=16 --num-calls=100000 --port=8080

If you don't have httperf installed, use your package manager of choice to install it.

Something went wrong with that request. Please try again.