Re: [dev] [quark] Performance issues

From: Anselm Garbe <garbeam_AT_gmail.com>
Date: Tue, 24 Sep 2019 11:17:09 -0700

Hi Laslo,

On Tue, 24 Sep 2019 at 02:02, Laslo Hunhold <dev_AT_frign.de> wrote:
> Quark is actually very lean and offers 99% of the features you would
> expect for a static server. I personally am a big fan of OpenBSD's
> httpd and will use it on the server I am currently setting up.
>
> I see quark's role more like a "drop-in" server you can invoke
> literally in seconds from the command line to share some data on the
> network. In this form, it is not so trivial with other servers. For
> "settled" servers with a fixed configuration, OpenBSD httpd works
> flawlessly in my opinion!

The issue is, there are enough http servers, but most of them are
designed as daemons. As you say, quark could become a nice alternative
for drop-in purporses. For this it is currently too feature rich
however. I would suggest to strip it down as follows:

- Keep it GET/HEAD based only
- Always run as current user, if root is used chroot() to current directory.
- Always serve current directory as root (no need to supply directory option)
- If no explicit port is specified start from 8080 and take next available port
- Don't support vhosts, if you need that use different server, if you
need to run multiple instances, use different ports instead
- Don't support unix sockets
- Don't bother with TLS stuff, a drop-in server should not be required
to use TLS
- Only log to stderr/stdout
- Eventually add content range support (which might become handy for
drop-in use cases)

That's it. I'm sure this can be done within 200 lines. And this should
be the aim for quark after all. It shouldn't be supposed to be used as
a general purpose server, as said initially, there are enough already
to choose from. But there are almost non that offer the feature set
described.

BR,
Anselm
Received on Tue Sep 24 2019 - 20:17:09 CEST

This archive was generated by hypermail 2.3.0 : Tue Sep 24 2019 - 20:24:10 CEST