首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActivePerl on Windows/Apache性能问题

ActivePerl on Windows/Apache性能问题
EN

Stack Overflow用户
提问于 2011-06-08 15:30:04
回答 2查看 832关注 0票数 0

我想请你帮忙。在我们公司,我们已经在Windows机器上安装了Bugzilla 4.0。为了运行perl,我们目前使用的是ActivePerl。

问题是,我们有大约50个用户定期查询Bugzilla web服务,而服务器无法承担这一负载。我们已经发现,它是由perl.exe引起的,它在每个请求期间都会运行。服务器工作负载(CPU)在高峰期达到90%。

你有没有遇到过这种问题?是否有任何可能的配置,我们可以进行,以提高性能?

我们使用的是:Apache2.2.17和ActivePerl 5.8.9 b829。提前谢谢你,这给我们(尤其是我)带来了很多麻烦。

EN

回答 2

Stack Overflow用户

发布于 2011-06-08 17:52:43

随着网站的发展,这是一个相当普遍的问题。而且它也不仅仅局限于Perl。有一些解决方案。正如一个人提到的,有一个mod_perl,它本质上是作为一个Apache模块安装的。它可以通过Apache::Registry在某种简单版本中使用,也可以通过编写在每个请求阶段与Apache API交互的组件来实现。无论您对mod_perl采取什么方法,都有一些共同的注意事项:它是一个持久的过程,这意味着(简单地说),Perl从一个请求到下一个请求,再到下一个请求,都会保持驻留状态,这样就消除了启动成本。如果不进行一些清理和重构,CGI脚本通常不能直接移植到mod_perl。例如,由于脚本在持久环境中运行,因此全局变量不会在两次请求之间重置。有一个完整的“陷阱”清单需要克服。为此,Apache::Registry在mod_perl环境中更容易处理,但代价是不能提供直接为API编程所能提供的100%性能马力。然而,这是一个很好的折衷方案。

另一个选择是FastCGI,你可以在the FastCGI website.上读到

写得很好的CGI脚本可以移植到mod_perl或FastCGI上。出于这个原因,这些可能是最不痛苦的方法。一些脚本只需很少的清理即可转换。其他的可能需要大量的工作,但仍然是可能的。

幸运的是,CPAN上有很多有用的模块可以帮助您使用mod_perl或FastCGI。例如,在CPAN上的Apache::*层次结构下,您会发现许多设计用于mod_perl的工具。关于FastCGI,您甚至会发现与Catalyst和Mojolicious相关的模块可以帮助将两者融合在一起,尽管后两个建议可能需要一些真正的重构。

我发现实用的mod_perl作为一个起点很有帮助(O‘’Reilly的一本书)。

票数 2
EN

Stack Overflow用户

发布于 2011-06-08 16:19:49

思考的食粮:mod_perl

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6275525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档