Hello!
2013/3/8 Aaron Lewis:
> agentzh 为啥你放弃了 HttpPerlModule,改用lua?
>
> 我看你很多脚本都是perl的,我相信你肯定考虑过HttpPerlModule,好奇你为什么放弃了,肯定有原因的吧
>
我从没考虑过在我自己的线上应用中使用 ngx_http_perl_module,所以也谈不上“放弃”。
Lua 天然被设计为嵌入到 C/C++ 应用中,其 VM 相比 perl 要小巧得多,同时原生支持 coroutine,适合事件驱动的非阻塞
I/O 模型。另外,Lua 代码的解释效率也远高于 Perl(以及其他以 P 开头的脚本语言),特别是使用 LuaJIT 2.0
的解释器,乃至启用其 JIT 编译器。在 I/O 多路复用的场景下,CPU 级别的脚本代码执行效率很容易成为瓶颈(在传统的单路阻塞 I/O
模型下,内存和 CPU 争用则经常是最大的瓶颈)。
Best regards,
-agentzh