BBS水木清华站∶精华区
发信人: watery (云之风~~水云间), 信区: Java
标 题: Re: CGI, mod_perl, PHP, JSP性能实测比较[转] (转载)
发信站: BBS 水木清华站 (Sun May 7 13:13:09 2000)
【 在 midi (迷笛) 的大作中提到: 】
∶ PHP也好,PERL也好,可tune的地方不多。Java Servlet就不同了。不同
∶ 的虚拟机,JIT编译器,Natvie/Green Thread的多线程实现,以及你给
∶ Application Server的堆大小,都影响性能。
∶ 另外,对于基本上是静态的页面的测试没有什么意思。PHP也好,CGI也好,
∶ MOD-PERL也好,都是Apache内在的东西,或者是CGI进程,或者是module,
∶ 都属于Apache本身。JServ是个独立的运行平台,只是通过AJP协议和Apache
∶ 连接。因此Apache可以cache PHP或者mod-perl,但cache不了servlet。
∶ 因此速度的快慢,对于JSP/Servlet来说,与其说是Apache的快慢,不如说
∶ 是Application的快慢。
∶ 正因为如此,如果对于大典的系统来说,用诸如round robin方式能很容易分布
∶ Application Servers。
∶ 另外,JAVA还有一些很重要的地方能大幅度提高性能。比如说数据库的connect
∶ pool。据说PHP4可以支持了,但我不知道。至少PHP3是没有的。一个静态页面
∶ 可能最多化20毫秒,但一次数据库连接得花多少时间?
∶ 我在两年前就做过类似的比较,而且比原作者做得好得多,因为除了静态的
∶ 页面外,我还有循环计算的page,以及数据库查询的页面。我记得当时曾经
∶ 贴到SMTH上来,但现在找不到了。记得结果大致是,mod-perl>servlet>php>
∶ cgi/perl.当时还不知道connect pool,否则Servlet的测试程序可能能更优化些。
不错,在servlet中,在init方法中连上Database,在drop方法中断掉Database的连接,
在service方法中用,性能极好,因为其数据库是始终保持连接的.
这绝对是perl,cgi,
php无法比的.
不知maht,midi兄对servlet的测试中是用的什么结构.呵呵.
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.11.173]
BBS水木清华站∶精华区