nitriding-daemon
nitriding-daemon copied to clipboard
Improve performance of proxy application and TAP handler
I've been working on some tooling that can help us measure nitriding's networking performance. So far, I have a minimal Go Web server that implements a simple "hello world" handler. I tested the Web server in three scenarios:
- Docker: In a Docker container (with no nitriding or enclaves involved), which serves as our baseline.
- Nitriding-nrp: In an enclave, with the Web service receiving connections directly from clients.
- Nitriding: In an enclave, with nitriding acting as a reverse proxy in front of the Web service.
All three scenarios use HTTP only, to eliminate the computational overhead of TLS. I then used baton to measure the requests per second that the Web service can sustain. The results are:
The numbers aren't great. Let's use this issue to do some debugging, identify bottlenecks, and improve the networking code.