Zend Framework的性能问题

时间:2011-03-08 10:31:56

标签: php performance zend-framework

我在1个月前将Zend Framework添加到我的php项目中。我正在使用Zend_Measure和Zend_Locale将数字格式化为良好的语言环境。

我正在使用带有APC和Zend Framework 1.11的php 5.3。

我的数据库中导出原始数据存在一个主要问题。排除可忽略不计的mysql查询时间,带有记录格式的php导出每1000条记录需要3.5秒。所有这些时间都花在Zend_Locale_Format::toNumber()上。我怎样才能提高性能呢?

此基准测试已在我自己的计算机上完成(Macbook pro i5)。 在我们的生产服务器上,每1000条记录需要70秒!该服务器是一个2GB的rackspaceCloud云服务器,带有centos,只运行我们的Web应用程序。

macbook和rackspace服务器性能之间存在20个因素。我的macbook是如此强大吗?我不这么认为......


更新

在进行一些分析后,似乎瓶颈是Zend_Cache_Backend_File->_fileGetContents。它默认使用Zend_Cache_Backend_File。如何配置Zend Framework以使用Zend_Cache_Backend_ApcZend_Cache_Backend_TwoLevels?它可能会改善性能......

1 个答案:

答案 0 :(得分:5)

您是否为Zend_Locale设置了全局缓存?检查此doc page并滚动到底部。

另外,请检查您的APC设置。我自己不使用APC,但是当缓存大小太小时,XCache会出现性能问题。这也可能是您配置的问题。


配置Zend_Locale使用的缓存和Zend_Local_Format使用Zend_Locale::setCache($cache)Zend_Locale_Format::setOptions(array('cache' => $adapter))。可以在手册中找到。