Is ngx_http_perl_module stable enough to use in high traffic production environment?

Yichun Zhang (agentzh) agentzh at gmail.com
Sat Jan 23 22:09:07 UTC 2016


Hello!

On Sat, Jan 23, 2016 at 6:42 AM, highclass99 wrote:
> I use perl a lot,
> and I noticed
> http://nginx.org/en/docs/http/ngx_http_perl_module.html
> for several years has been documented as
> "The module is experimental, caveat emptor applies."
> So I have been somewhat avoiding testing its use.
>
> Does anyone know if this is suitable to use in high traffic production
> environments?

We used to use this perl module in production about 3 years ago for
relatively heavy production traffic (we have way more traffic today)
but it was slow, unscalable, and blocking on I/O. We switched to the
ngx_http_lua_module since then and it has been much faster and
guarantees 100% nonblocking network I/O. Disclaimer: I am the
maintainer of the ngx_http_lua_module.

See https://github.com/openresty/lua-nginx-module#readme

We still use Perl for many offline work like automated testing (based
on the CPAN module Test::Nginx [1]) and WAF's Lua code generation (the
modsecurity rules to Lua translator is written in Perl). I've also
been working on the Lemplate compiler [2] in Perl that compiles Perl's
TT2 templates down to standalone Lua code runnable atop the
ngx_http_lua_module.

Hope it helps.

Best regards,
-agentzh

[1] https://metacpan.org/pod/Test::Nginx
[2] https://metacpan.org/pod/Lemplate



More information about the nginx mailing list