jon*_*ers 5 perl cgi websocket mojolicious
我设置了一个像这样的快速Mojolicious服务器:
use Mojolicious::Lite;
get '/' => sub {
my $self = shift;
sleep 5; #sleep here, I'm testing multiple connections at once
$self->render_text('Hello World!');
};
app->start;
Run Code Online (Sandbox Code Playgroud)
然后我开始: perl Mojolicious.pl daemon --listen=https://127.0.0.1:3000
问题是,如果我同时运行此命令:
time curl https://127.0.0.1:3000/ -k
它似乎只使用1个线程用于请求,因为如果我一次发出多个请求,它们可能需要超过5秒.好像他们都排队了.
我在这里错过了什么吗?我想要使用Mojolicous,但前提是它一次只能处理多个客户端.
mojo daemon
是一个独立的HTTP服务器,用于开发使用,而不是生产,它只运行一个线程.对于生产,你可能想要使用fastcgi
选项和支持FastCGI的网络服务器,或者安装一个很好的PSGI兼容服务器,如Starman或Starlet或Plack :: Handler :: FCGI或Fastpass然后做
plackup -s Starman --port 3000 Mojolicious.pl
Run Code Online (Sandbox Code Playgroud)