21、Ruby Web编程与GUI开发全解析

Ruby Web编程与GUI开发全解析

1. Ruby Web性能优化

在使用Ruby编写Web的CGI程序时,默认配置每次访问 cgi-bin 页面都要启动一个新的Ruby副本,这会造成机器资源的浪费,还会让网页加载速度变得很慢。不过,Apache Web服务器通过支持可加载模块解决了这个问题。这些模块会动态加载,成为运行中的Web服务器进程的一部分,这样就不用反复启动新的解释器来处理请求了,Web服务器本身就可以充当解释器。

mod_ruby 就是这样一个Apache模块,它能将完整的Ruby解释器集成到Apache Web服务器中。其附带的 README 文件详细说明了编译和安装的步骤。安装并配置好后,运行Ruby脚本会比之前快很多,还能利用 mod_ruby 提供的额外功能,比如与Apache请求处理的紧密集成。

不过,使用 mod_ruby 也有一些需要注意的地方。因为解释器在请求之间会一直驻留在内存中,所以可能会处理来自多个应用程序的请求,这就可能导致应用程序中的库发生冲突,尤其是不同库中存在同名类的情况。而且,不能保证同一个解释器会处理来自同一个浏览器会话的一系列请求,因为Apache会使用其内部算法来分配处理进程。

FastCGI协议可以解决部分上述问题。它是一个很实用的方法,适用于所有CGI风格的程序,不只是Ruby。它使用一个很小的代理程序,通常作为Apache模块运行。当收到请求时,代理会将请求转发给一个长期运行的进程,这个进程就像普通的CGI脚本一样处理请求,然后将结果反馈给代理,再由代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值