ZendFramework DB类库性能效率浅谈

RayChou at 2008-09-03 21:49 posted  Filed under 其他

在以往的开发中,我一直不太关注的程序运行效率的问题,但工作后不得不在开发中注意这些细节,需要采用一些新的技术或类库时,往往会亲自写一段测试代码来比较和原生代码的运行效率,用数据说话。

ZendFramework,相信广大PHPer都非常熟悉,即使没有用过,但至少听过ZF的大名(我姓名的缩写也是ZF,HOHO),在公司的前一个项目中,应需求使用了ZF来作为开发框架,对ZF的使用有了一些基本的了解,因此在接下来的项目中也有使用ZF的打算,但由于ZF库本身的体积过大,但类库之间的耦合性又比较低,因此打算只使用其中的DB库来实现数据库的操作。

在之前的开发中发现Zend_DB fetch返回的结果并不是常用的array,而是一个巨大的包括详细表、字段结构的object,因此对其性能一直抱怀疑的态度,在这次新项目上马之前,对其简单的做了性能测试。

首先新建了一个10字段的table,分别用原生的mysql_query和Zend_Db::insert循环插入1000条数据。

mysql_query 平均耗时0.3秒左右,Zend平均耗时1.5秒,性能相差5倍以上。

然后再取出之前插入的1000条数据

mysql_query平均耗时0.01秒,Zend平均耗时0.02秒,性能相差一倍多。

由以上测试可以看到Zend对Db封装后对性能的损耗是相当大的,并不是很适合并发量很高的互联网应用。

或许Zend本身有更好的机制去提高执行效率,欢迎交流。

没有评论 »

还没有评论。

请您留下评论

  • :em27:
  • :em22:
  • :em08:
  • :em55:
  • :em30:
  • :em65:
  • :em15:
  • :em11:
  • :em66:
  • :em68:
  • :em38:
  • :em13:
  • :em64:
  • :em67:
  • :em09:
  • :em59:
  • :em54:
  • :em48:
  • :em28:
  • :em26:
  • :em31:
  • :em18:
  • :em52:
  • :em02:
  • :em12:
  • :em14:
  • :em25:
  • :em49:
  • :em35:
  • :em53:
  • :em29:
  • :em03:
  • :em05:
  • :em56:
  • :em57:
  • :em21:
  • :em61:
  • :em41:
  • :em32:
  • :em10:
  • :em37:
  • :em04:
  • :em46:
  • :em19:
  • :em17:
  • :em51:
  • :em44:
  • :em69:
  • :em33:
  • :em42:
  • :em62:
  • :em70:
  • :em71:
  • :em20:
  • :em36:
  • :em01:
  • :em06:
  • :em07:
  • :em16:
  • :em23:
  • :em39:
  • :em34:
  • :em43:
  • :em63:
  • :em24:
  • :em50:
  • :em72:
  • :em58:
  • :em47:
  • :em40:
  • :em45:
  • :em60: