extreme throughput http daemon
GPL-2.0 License
A specialized web server with userspace TCP/IP stack. Also my undergraduate thesis work.
This is a work in progress, an experiment at the moment.
No way it is even remotely production ready.
Eth is a specialized web server whose aim is to be extremely fast on static file serving. It archives this using Netmap and a custom lightweight TCP/IP stack written from scratch specifically for the HTTP protocol.
Currently I can only test it with a virtual machine.
Some numbers: average speed to download a 1GB file with a single connection.
Nginx | Eth |
---|---|
160 Mb/s | 460 Mb/s |
##Installation
clone the repo
$ git clone --recursive [email protected]:jibi/eth.git
build dependencies (Netmap).
Note: you need the kernel sources of your running kernel to be in the
/usr/src/linux
directory.
$ make deps
build Eth
$ make
load Netmap module
# insmod deps/netmap/LINUX/netmap.ko
set interface up
# ifconfig $if up
and start Eth server with
# ./eth --dev $ifname --mac $ifmac --ip $ifip --port $port
Actually a lot