各种语言在apache中的测速

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

今天测试linux/Apache环境下各设计语言的速度。测试是个人的,且没有进行大负荷

测试,只在一个用户的条件下,测试领域很不全面,只有简单循环、乘法和数据库读取。

因此这个结果只能说明在轻负荷情况下,一般数学运算和数 据库简单读取的性能。 测试

条件: Hardware: Dell Dimension XPS,Pentium II 450, 256M RAM,

Adaptec AHA-2940 Ultra2 SCSI Card, QUANTUM VIKING II 9.1G硬盘

(另挂IBM-DTTA-351680 17G IDE硬盘,但未在测试中起作用) Software: Redhat 6.0,

Kernel 2.2.11, Apache 1.3.6 Blackdown JDK1.1.7v3/JServ 1.0, PERL5.005_03,

PHP4 Beta2( 用pgcc-2.91.66/egcs-1.1.2编译)

数据库:Oracle 8.1.5 客户机:Pentium III 450 with 256M Ram, NT 4.0 Server SP5,

有意用IE来测试。IE为5.0

测试一: 50*1000*1000循环

1. PERL CGI 耗时44秒

2. PHP4 Beta2 耗时107秒

3. Java Servlet 耗时7秒

测试二: 从Oracle中读取100,000个简单记录

1. PERL CGI 40秒

2. PHP4 Beta2 34秒

3. Java Servlet 36秒

结果分析: 1. PHP4 是嵌入式程序设计语言, 虽然在Apache里以Module方式常驻其解释

器,但实时解释,尤其是复杂运算解释,速度相当慢。简单运算,数据库存取,速度还可以。

2. PERL CGI速度适中。其CGI也是在客户请求后,放才解释,因此较为耗时,但由于PERL

解释器开发时间很长,优化叫好,即使是以CGI方式调用,也还不错。如果采用Mod-PERL,

相信会好很多。

3. 一般认为JAVA很慢,但发现在以JServ模块方式运行Servlet时,速度相当快。仔细分

析,一来Servlet已经是预编译后的*.class,而来常驻内存的JDK/JDBC能提高速度。个人

以为,Java之慢,大概慢在其AWT以及其它复杂类运算上,简单循环之类的运算、JDBC调用,都还可以。

同意你的看法:我用java severlet 做过测试希望能够是个补充。

测试机器配制: P166, 64M RAM , linux RedHat5.1 with kernel 2.2.3,

apache web server 1.3.4 with apache Jserv1.0

数据库所在机器配制: Sun E250, 512M RAM, OS5.6, Oracle 7.3.3

测试方法: 在局域网内用Windows程序访问测试机Web服务的Java Servlet 程序,此程序通

过Oracle通信访问数据库所在机器进行数据察询, 程序返回后计数器加一.

测试时间: 一小时整

测试程序进程数量: 5

测试结果: 五个进程访问次数为: 5769,5825,5767,5780,5721 共计:28862 次

备注: 1.没有对测试机进行任何调试

2.Java Servlet 采用 JDBC访问数据库,使用了Connection Pool

3.此次测试不是满负荷测试 top 查看Cpu 有20%-0.4% idel RAM use 约为30-40M

Swp used=0 M. System RAM use=5-6% user RAM used 约为80%

4.测试中没有启 Xwindow.

5.测试中测试机对 telnet 等访问响应迅速.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航