Go to file
George Shammas 8373c69bf8 Update deps 2022-10-20 23:00:17 -04:00
.github/workflows Update cachix/install-nix-action action to v18 2022-10-12 17:00:34 +00:00
templates Easier cURL command copy/paste 2022-09-27 09:53:44 -04:00
.dockerignore Add Dockerfile and docker-compose.yml 2020-10-05 09:55:52 -04:00
.gitignore Progress 2018-12-27 22:12:12 +00:00
.version Add nix flake files 2020-11-15 21:19:12 -05:00
Dockerfile Switch to using jsoniter 2022-01-05 12:23:33 -05:00
LICENSE Adding dummy readme and license file 2014-07-09 11:17:34 -04:00
README.md Update README.md 2022-06-26 19:36:18 -04:00
default.nix Add nix flake files 2020-11-15 21:19:12 -05:00
docker-compose.yml Add Dockerfile and docker-compose.yml 2020-10-05 09:55:52 -04:00
flake.lock update nix config 2022-01-04 17:42:51 -05:00
flake.nix Update nix vendor sha 2022-06-15 15:55:08 +00:00
go.mod Update deps 2022-10-20 23:00:17 -04:00
go.sum Update deps 2022-10-20 23:00:17 -04:00
main.go #24 Fix parsing of windows command line user agents 2022-06-15 16:34:33 +00:00
renovate.json Update renovate.json 2022-07-07 15:46:01 -04:00
shell.nix Add nix flake files 2020-11-15 21:19:12 -05:00
web-service.systemd Added Javascript endpoints and systemd service example 2022-01-04 17:06:08 -05:00

README.md

ifconfig.io

Build Status

Inspired by ifconfig.me, but designed for pure speed. A single server can do 18,000 requests per seconds while only consuming 50megs of ram.

I used the gin framework as it does several things to ensure that there are no memory allocations on each request, keeping the GC happy and preventing unnessary allocations.

Tested to handle 10,000 clients doing 90,000 requests persecond on modest hardware with an average response time of 42ms. Easily servicing over 5 million requests in a minute. (Updated June, 2022)

LoadTest