如何为 PSGI 应用程序提供许多并发连接?我尝试过基于事件和预分叉的网络服务器,但并发连接的数量似乎受到工作进程数量的限制。我听说例如 Node.js 可以扩展到数千个并行连接,你能在 Perl 中实现类似的连接吗?
这是一个使连接无限打开的示例应用程序。关键不是要有无限的连接,而是要保持连接打开足够长的时间以达到连接限制:
my $app = sub {
my $env = shift;
return sub {
my $responder = shift;
my $writer = $responder->(['200', ['Content-Type' => 'text/plain' ]]);
my $counter=0;
while (1);
$writer->write(++$counter."\n");
sleep 1; # or non-blocking sleep such as Coro::AnyEvent::sleep
}
$writer->close;
};
};