From: Nala Ginrut <nalaginrut@gmail.com>
To: Andy Wingo <wingo@pobox.com>
Cc: Dave Thompson <davet@fsf.org>,
guile-devel@gnu.org, David Thompson <davet@gnu.org>
Subject: Re: Handling HTTP "Upgrade" requests
Date: Wed, 11 Mar 2015 11:55:02 +0800 [thread overview]
Message-ID: <1426046102.2941.59.camel@Renee-desktop.suse> (raw)
In-Reply-To: <87zj7ky3fv.fsf@pobox.com>
On Tue, 2015-03-10 at 21:59 +0100, Andy Wingo wrote:
> On Thu 26 Feb 2015 08:51, Nala Ginrut <nalaginrut@gmail.com> writes:
>
> > 3. I have to mention that the current inner server is not non-block and
> > weak for slow-header-DDOS.
>
> Indeed. I think the right solution is cothreads. What do you think?
>
Yes, it's my answer too. ;-)
For more clearly, NIO + cooperative threads. If it's BIO, then it works
fine with normal/good requests, but halts with the intended tricky
formatted bad requests.
Sometimes it could halt long time when you upload bigger file. That's
what current Artanis suffering from. But could be solved easily with
Nginx reverse-proxy. Anyway, this issue is not only about NIO, there're
large room for optimizing though.
> > PS: To those who care, unfortunately, Guile has no epoll/kqueue yet,
> > that's one of the reasons why I want to write new server core for
> > Artanis. ;-)
>
> The wip-ethreads branch has something like this. Perhaps that could
> serve for inspiration :)
Yes, it's good start for me. Years ago, Mark once gave me a warn that a
good non-blocking design may need to change something in Guile-core,
especially ports. But it's not an easy work to make the whole Guile
support non-blocking in short time. Dunno if it's still true for current
Guile.
My plan is to provide restricted non-blocking I/O cautiously.
Of course, I'm optimistic to expect Guile support better non-blocking
from long term perspective. ;-)
next prev parent reply other threads:[~2015-03-11 3:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-21 23:00 Handling HTTP "Upgrade" requests David Thompson
2015-02-25 5:05 ` Nala Ginrut
2015-02-25 16:23 ` Dave Thompson
2015-02-26 7:51 ` Nala Ginrut
2015-03-10 20:59 ` Andy Wingo
2015-03-11 3:55 ` Nala Ginrut [this message]
2015-03-04 10:51 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1426046102.2941.59.camel@Renee-desktop.suse \
--to=nalaginrut@gmail.com \
--cc=davet@fsf.org \
--cc=davet@gnu.org \
--cc=guile-devel@gnu.org \
--cc=wingo@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).