Not really. The old asmutils httpd [0] does 100s of requests per sec
(probably thousands on modern procs), is less than 1K of disk, and,
32K of RAM per fork. I've seen other versions which were used half
the RAM and were just as fast as well. Just NASM compile without
SENDFILE usage. Something in the way they're using the SENDFILE
syscall broke in more recent kernels (either syscall number changed or
parameters changed) and the httpd just waits on the kernel forever.
What's more, it's a really straight forward httpd. Nothing really
fancy about it other than it being written in NASM.
[0]
https://github.com/leto/asmutils/blob/master/src/httpd.asm
On Wed, Apr 20, 2016 at 7:22 AM, Lee F. <REMOVED_UPON_REQUEST_AT_gmail.com> wrote:
> On Tue, Apr 19, 2016 at 11:17 PM, Sylvain BERTRAND
> <sylvain.bertrand_AT_gmail.com> wrote:
>> Hi,
>>
>> For my personnal use, I needed a small http server. All "mini" http servers out
>> there I had a look were, IMHO, bloaty (SDK included).
>>
>> lnanohttp is really small (including dependencies and SDK), straight on linux kernel
>> syscalls with a thin layer. Tested only on x86 and with a gcc/binutils
>> toolchain for the moment (planing to buy an armv8 raspberry board).
>>
>> Can be use easily as a base for a beefier http server.
>>
>> https://github.com/sylware/lnanohttp
>> https://repo.or.cz/lnanohttp.git
>>
>> regards,
>>
>> --
>> Sylvain
>>
>
> What do people typically use these small http servers for? I'm
> genuinely interested. I personally would make my own as an exercise.
> Probably for an embedded system. To create something as efficient as
> the bigger players though? That sounds difficult.
>
Received on Wed Apr 20 2016 - 16:34:05 CEST