首页 > 代码库 > Java Tomcat vs PHP CLI Server 性能对比
Java Tomcat vs PHP CLI Server 性能对比
测试环境:
Ubuntu 14.04 with i5-3230M
Tomcat 8.0.5 with 64bit jre1.7.0_55
PHP 5.5.8 with Zend OPcache v7.0.3-dev
测试脚本: 显示当前服务器时间
Java Tomcat: t.jsp
taskset -p `pgrep java` 查看绑定后的CPU使用情况
taskset -c 1 php -S 127.0.0.1:8081 -t /png/www/ 将PHP进程绑定到CPU1并启动
taskset -p `pgrep php` 查看绑定后的CPU使用情况
先热一下身:
curl -I http://127.0.0.1:8080/t.jsp
curl -I http://127.0.0.1:8081/t.php
将siege绑定到CPU0,并发100,持续10秒,压测Java Tomcat:
taskset -c 0 siege -c100 -t10S http://127.0.0.1:8080/t.jsp
Java Tomcat 压测时Java进程的CPU使用率(%CPU):
pidstat -p `pidof java` 1
Java Tomcat 压测时系统的CPU空闲率(%idle):
sar 1
将siege绑定到CPU0,并发100,持续10秒,压测PHP CLI Server:
taskset -c 0 siege -c100 -t10S http://127.0.0.1:8081/t.php
PHP CLI Server 压测时PHP进程的CPU使用率(%CPU):
pidstat -p `pidof php` 1
PHP CLI Server 压测时系统的CPU空闲率(%idle):
sar 1
Java Tomcat vs PHP CLI Server 测试数据对比:
说明:
i5-3230M双核四线程,%CPU最大值可达到400%.
PHP从5.4.0开始内建了一个Web Server,方便PHPer测试和开发,Linux上是一个单线程应用,所以PHP进程的CPU使用率始终在100%以下.
而Tomcat是一个多线程Java应用,CPU耗得非常厉害,高峰时甚至超高330%!
PHP测试后内存仅仅涨了0.5MB,而Java进程内存涨了1倍,内存波动非常大,达到180多MB,是PHP内存占用的9倍还多!
PHP CLI Server的每秒处理请求数要比Java Tomcat多了 1500,而内存和CPU占用却比Java Tomcat小得多,是Java太低能了呢,还是PHP非常快呢?
Ubuntu 14.04 with i5-3230M
Tomcat 8.0.5 with 64bit jre1.7.0_55
PHP 5.5.8 with Zend OPcache v7.0.3-dev
测试脚本: 显示当前服务器时间
Java Tomcat: t.jsp
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>JSP测试</title> </head> <body> <% java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); %> <%=sdf.format(new java.util.Date()) %> </body> </html>
<?php header(‘Content-Type: text/html;charset=UTF-8‘); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>PHP测试</title> </head> <body> <?php echo date(‘Y-m-d H:i:s‘); ?> </body> </html>
taskset -p `pgrep java` 查看绑定后的CPU使用情况
taskset -c 1 php -S 127.0.0.1:8081 -t /png/www/ 将PHP进程绑定到CPU1并启动
taskset -p `pgrep php` 查看绑定后的CPU使用情况
先热一下身:
curl -I http://127.0.0.1:8080/t.jsp
curl -I http://127.0.0.1:8081/t.php
将siege绑定到CPU0,并发100,持续10秒,压测Java Tomcat:
taskset -c 0 siege -c100 -t10S http://127.0.0.1:8080/t.jsp
Java Tomcat 压测时Java进程的CPU使用率(%CPU):
pidstat -p `pidof java` 1
Java Tomcat 压测时系统的CPU空闲率(%idle):
sar 1
将siege绑定到CPU0,并发100,持续10秒,压测PHP CLI Server:
taskset -c 0 siege -c100 -t10S http://127.0.0.1:8081/t.php
PHP CLI Server 压测时PHP进程的CPU使用率(%CPU):
pidstat -p `pidof php` 1
PHP CLI Server 压测时系统的CPU空闲率(%idle):
sar 1
Java Tomcat vs PHP CLI Server 测试数据对比:
|
Java Tomcat |
PHP CLI Server |
测试前内存占用(MB) |
93.4 |
20.0 |
测试后内存占用(MB) |
185.2 |
20.5 |
进程CPU使用率(%CPU,越小越好) |
约300% |
约95% |
系统CPU空闲值(%idle,越大越好) |
约7% |
约46% |
每秒处理请求数(Transaction rate,越大越好) |
5376 |
6878 |
说明:
i5-3230M双核四线程,%CPU最大值可达到400%.
PHP从5.4.0开始内建了一个Web Server,方便PHPer测试和开发,Linux上是一个单线程应用,所以PHP进程的CPU使用率始终在100%以下.
而Tomcat是一个多线程Java应用,CPU耗得非常厉害,高峰时甚至超高330%!
PHP测试后内存仅仅涨了0.5MB,而Java进程内存涨了1倍,内存波动非常大,达到180多MB,是PHP内存占用的9倍还多!
PHP CLI Server的每秒处理请求数要比Java Tomcat多了 1500,而内存和CPU占用却比Java Tomcat小得多,是Java太低能了呢,还是PHP非常快呢?
Java Tomcat vs PHP CLI Server 性能对比
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。