Debugging Julia HTTP Package Performance bottleneck

I was doing performance analysis of Julia HTTP server. A simple HelloWorld API gives around 4K Request/second(1 Core, Max CPU Utilization = 50%). Since the CPU utilisation of Julia process is not 100% I suspect there is some other bottleneck in the HTTP library code. Any pointers on how to go about debugging this?

Code

using HTTP

HTTP.serve() do request::HTTP.Request
    return HTTP.Response("Hello")
end

wrk load test

You might want to take a look at:

That goes with threading, not sure if want to go there, but some of the concepts might work well for the single thread case.

3 Likes