Git's HTTP server side design does not scale

31 points by gmem


fanf

Serving git fetches is fundamentally quite expensive because the server has to generate a packfile. Concurrent fetches and big repos need lots of RAM. (Full clones should be easier since the server ought to be able to sendfile a pregenerated packfile.) A multithreaded server might be able to reduce the costs of the preliminary faff of checking the request for plausibility, but once you get to the point of generating a packfile CGI is not a large percentage of the cost.