免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4307 | 回复: 27
打印 上一主题 下一主题

使用mod_perl为何CPU消耗得如此厉害?有类似eAccelerator的加速工具吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-20 12:00 |只看该作者 |倒序浏览
RT,囧~

论坛徽章:
0
2 [报告]
发表于 2009-04-20 12:47 |只看该作者
mod_perl cpu应该还好 主要用的是内存 考虑是不是代码问题造成cpu负载高 因为mod_perl包含了人Perl的解释器

论坛徽章:
0
3 [报告]
发表于 2009-04-20 14:19 |只看该作者

回复 #2 hfahe 的帖子

use DBI;

print "Content-type: text/plain; charset=utf8\n\n";
print "select goods\n\n";

my $dbh = DBI->connect("DBI:mysql:host=test;database=test;", "test", "test", {'RaiseError' => 1});

my $sth = $dbh->do("SET NAMES utf8");
my $sth = $dbh->prepare ("select * from goods order by rand() limit 10");
$sth->execute();
while (my @row = $sth->fetchrow_array ) {
  print "@row\n";
}
$sth->finish();
$dbh->disconnect();


就上面这行代码,用web测试工具测试,模拟20个用户,负载居然达到了8

论坛徽章:
0
4 [报告]
发表于 2009-04-20 20:10 |只看该作者
如果是普通的CGI方式,应该是正常的,使用fastcgi能够明显地改善。
普通的CGI不适合做高性能的web开发。

论坛徽章:
0
5 [报告]
发表于 2009-04-21 15:13 |只看该作者

回复 #4 billypeng 的帖子

Apache/2.2.10 (Unix) PHP/5.2.6 mod_perl/2.0.4 Perl/v5.8.8

论坛徽章:
0
6 [报告]
发表于 2009-04-21 15:27 |只看该作者
apache的配置呢?

论坛徽章:
0
7 [报告]
发表于 2009-04-22 13:30 |只看该作者

回复 #6 hfahe 的帖子

LoadModule perl_module                modules/mod_perl.so
Alias /perl-bin/ "/usr/local/apache2/perl-bin/"

<Location /perl-bin/>
     SetHandler perl-script
     PerlResponseHandler ModPerl::Registry
     Options +ExecCGI
     PerlOptions +ParseHeaders
</Location>

AddHandler cgi-script .pl .cgi
PerlRequire "conf/extra.pl"

<Directory "/usr/local/apache2/perl-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>



use ModPerl::Util ();
use Apache::RequestRec ();
use Apache::RequestIO ();
use Apache::RequestUtil ();
use Apache::ServerRec ();
use Apache::ServerUtil ();
use Apache::Connection ();
use Apache::Log ();
use Apache::Const -compile =>; ':common';
use APR::Const -compile =>; ':common';
use APR::Table ();
use Apache::compat ();
use ModPerl::Registry ();
use CGI ();
1;


./configure --prefix=/usr/local/apache2 --enable-so --enable-deflate --enable-expires --enable-headers --enable-rewrite --enable-proxy --enable-proxy-http --enable-cache --enable-static-support


静态页面200个用户访问负载也不过就是1-2的样子

[ 本帖最后由 马三囧 于 2009-4-22 13:33 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2009-04-22 13:49 |只看该作者
问个问题哈"负载居然达到了8" 是什么意思啊. 没做过web不懂这些术语好奇. 谢谢.

论坛徽章:
0
9 [报告]
发表于 2009-04-22 13:51 |只看该作者
AddHandler cgi-script .pl .cgi
.pl .cgi结尾的文件将被当作CGI程序执行

Options +ExecCGI
也是CGI的配置

论坛徽章:
0
10 [报告]
发表于 2009-04-22 13:53 |只看该作者
原帖由 DQP 于 2009-4-22 13:49 发表
问个问题哈"负载居然达到了8" 是什么意思啊. 没做过web不懂这些术语好奇. 谢谢.

用linux你就知道了 top的load average
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP