-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
App stops working after many requests #4
Comments
I have always had issue with the libsoup backend which does not really fit nicely with the async request handling VSGI does. Have you tried other backends? Like a SCGI with NGINX reverse proxy? I'll take a look. |
How do I do thats? |
There's some details here: https://valum-framework.readthedocs.io/en/latest/vsgi/server/scgi/#nginx |
I'm looking for an ultra fast server
my current server implemented in c + nginx reverse proxy:
The performance of scgi may is a bug too |
It looks like a bug, you seem to have a bunch of very fast requests and one with a very lengthy timeout (60 seconds). Can I take a look at the application code? |
VSGI has basically no overhead beside parsing and generating SCGI messages, so I would doubt these numbers reflect the true performance. |
My code is a simple demonstration using VSGI;
class App : Handler
{
public override async bool handle_async (Request req, Response res) throws Error
{
return yield res.expand_utf8_async ("Hello world!");
}
}
Server.@new ("scgi", handler: new App ()).run ({"app", "--address=0.0.0.0:3003", "--forks=4" });
the process use 0% of cpu, maybe has many thread locks, maybe scgi is not closing connection, and is finished after 1min (60sec) |
Running sample in README.md
if run:
siege -c 8 -r 1024 http://0.0.0.0:3003
App stop response.
the problem only occurs with fork, if remove fork the app never stop:
Server.@new ("http", handler: new App ()).run ({"app", "--address=0.0.0.0:3003" });
The text was updated successfully, but these errors were encountered: