免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ipaddr

[性能测试]PHP-JSP性能测试-欢迎讨论 [复制链接]

爱拼才会赢 该用户已被删除
发表于 2005-11-04 17:27 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2005-11-04 17:34 |显示全部楼层
只是对比JSP与PHP。

当然不能和java比。

论坛徽章:
0
发表于 2005-11-04 17:41 |显示全部楼层
感觉php也很有市场。。
http://sourceforge.net/上关与php的开源项目很多地说
不过总感觉比较乱。

论坛徽章:
0
发表于 2005-11-04 20:12 |显示全部楼层
支持LZ!

论坛徽章:
0
发表于 2005-11-04 20:30 |显示全部楼层
楼主的比较非常专业,值得鼓励!还是数据说话比较客观。

java的String连接操作的确性能不是很好,这是String的使用原理造成的,如果有开发者经常要进行String的连接操作,应该尽量避免String a = b + c 或者 a += b 这样的用法,而改用 StringBuffer.append()来代替,应该取得不错的效果。

java的socket属于高级封装,所以性能当然没有办法和低级封装的c编译代码相比,这的确是java的弱点。但是在高访问量,重负荷的应用中,使用连接池以后,会得到比较满意的性能。

php有它独有的特点,功能强,可扩展性好,关键是服务器配置部署方便,所以开发单一系统的网站的确效率非常高。但是对于大访问量,重负荷的网站应用,当一台服务器已经无法处理请求,要扩展至使用多台服务器的时候,php却无法提供有效的mvc和负载均衡的方案,这个时候就是java大显身手的时候了。但是总体来说,绝大多数网站都是一台服务器的网站,就这点来说php也够用了,所以还是有很多人,包括IBM,Oracle这样的大公司也看好php并投入了很多资金。

对了,不知道楼主有没有空试一下用StringBuffer代替String的连接看看性能能够得到怎样的提升?

论坛徽章:
0
发表于 2005-11-04 20:42 |显示全部楼层
从书写上看,JSP比PHP和ASP还是要好看很多,可读性也要好很多的.  
<%@taglib uri="http://..." prefix="c"%>
<%@taglib uri="http://..." prefix="fmt"%>
<%@taglib uri="http://..." prefix="sql"%>
<html>
<body>
  <jsp:useBean id="now" class="java.util.Date"/>
  <fmt:formatDate var="currentMonth" value="${now}" pattern="MM"/>
  <fmt:formatDate var="currentYear" value="${now}" pattern="yyyy"/>
  <c:catch var="errorMessage">
      <sql:transaction dataSource="${initParam.jdbcName}">
        开始数据库事务<br/>
        <sql:update var="backup">
          ....
        </sql:update>
        己存档,共存储了${backup}行数据。<br/>
        <sql:update var="insertnew">
           ...
        </sql:update>
        ${insertnew}新<br/>
        <sql:update var="insert">
        ...
        </sql:update>
        ${insert}信息存储完毕<br />
        <sql:update var="save">
        ...
        </sql:update>
        ${save}信息加入到系统中<br/>
        <sql:update var="setflag">
          ...
        </sql:update>
        己设置${setflag}信息<br/>
        <sql:update var="deleteTemp">
         ...
        </sql:update>
        删除了${deleteTemp}临时数据<br />
        数据库事务完成.
      </sql:transaction>
    </c:catch>
    <c:if test="${!empty errorMessage}">
      执行数据库事务时发生错误,事务回滚.错误原因是:<br/>
      ${errorMessage}
    </c:if>
    <c:if test="${empty errorMessage}">
       <c:redirect url="redirect.jsp"/>
    </c:if>
</body>
</html>
目前由于JSP的Core标签不支持类似xls中的if..else和when,分支相对复杂一点,不过较为复杂的页面用JSF就好多了.PHP中访问不同的DB用不同的Function,也不支持使用connection pool,用起来感觉不好.不过在虚拟主机和托管服务器上用的话配置量应该是最少的.

[ 本帖最后由 jinijxta 于 2005-11-4 20:43 编辑 ]

论坛徽章:
0
发表于 2005-11-04 20:43 |显示全部楼层
原帖由 ipaddr 于 2005-11-4 17:10 发表
版主,“爱拼才会嬴”,将PHP与JSP,比作姚明和农民伯伯,

你说是不是太看不起PHP了?

这个倒不至于。农民伯伯和姚明是平等的啊。

论坛徽章:
0
发表于 2005-11-04 20:59 |显示全部楼层
:),谢谢大家鼓励。

论坛徽章:
0
发表于 2005-11-04 22:42 |显示全部楼层
知道 string a=''; str+='a' 的时候,编译器和中间语言做了什么吗?知道为什么要存在stringBuilder(java中是StringBuffer?)吗?
还有,竟然用两个层面的数据库连接来比较。。。。
这种不公平的测试,结果不是特别具有代表性。。。

要清楚地知道什么时候用java,什么时候用php...

[ 本帖最后由 geel 于 2005-11-4 22:45 编辑 ]

论坛徽章:
0
发表于 2005-11-05 00:45 |显示全部楼层
楼上的geel,

版主说了,stringbuilder会快一点,这个我会再测试,不需要你来说。一般字符串操作,很多还是直接用string的吧。

用两个层面的数据库连接来比较?那你说怎么比较?测试上说得很明白,Java用连接池会有很大提升,但配置麻烦一些,PHP直接用pconnect方便很多。

我不清楚什么时候用Java,什么时候用PHP,我只是比较JSP和PHP的一些性能,也没下定论,说java不行,哪有不公平的?

评测上说,PHP也有很多不足的地方,JSP也有,只是说明JSP对PHP,没有绝对的优势,不过“geel”听到这话好象不高兴,geel的意思是jsp没有不足的,PHP没有优点?geel认为jsp绝对优于PHP?

评测只是说明,各有优势,没有谁有绝对的优势,用的场合不同,小型应用,用PHP,开发快速,速度也够,企业应用,或异构型系统里面,还是很多用JSP的。相对WEB开发来说,PHP做的系统不会比JSP的少。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP