19

我正在考虑使用一个名为CodeIgniter的 PHP 框架。

我感兴趣的一件事是它的速度。然而,我没有办法知道它有多快,也不想简单地接受他们网站上的说法。有谁知道我如何自己确定它的速度,或者有人可以告诉我一个可以的网站吗?

4

7 回答 7

17

Code Igniter 也有一些内置的基准测试工具: http ://codeigniter.com/user_guide/general/profiling.html

于 2008-08-16T21:19:51.167 回答
9

是的,问题是你必须构建你的应用程序来分析它。

在工作中,我们有几个在外面编写的项目,我们在将它们放在我们的主盒子上之前进行了负载测试。我们非常惊讶地发现两者都存在严重的性能问题。一个是用 CakePHP 编写的,另一个是用 Drupal 编写的。我不认为这突出了任何框架或 CMS 的问题,除了需要在任何将获得大量流量的站点上进行分析和负载测试。在这两种情况下,导致问题的都是开发人员所做的,而不是软件平台的特性。例如,开发人员在 Cake 项目中创建了一个递归函数调用,它在每次递归时实例化整个 Cake 对象,如果服务器在负载下运行,这将导致服务器中断。

在我看来,性能不应该是选择框架的决定性因素;客观差异可能是微不足道的,并且您使用它的方式可能会导致比框架的固有性能更多的性能问题。

我相信,要将任何 PHP 应用程序扩展为在负载下运行,您将需要一个操作码缓存,并且您需要使用诸如 memcached 之类的东西或您的框架支持的任何内置缓存来编写智能内容缓存。

于 2008-08-17T10:39:26.747 回答
3

如果您的站点是数据库驱动的,如果您的瓶颈是应用程序框架,我会感到非常惊讶。我担心的是更快开发中的“快速”,而不是快速处理请求中的“快速”。通过缓存策略和优化数据库访问可以更好地进行重大优化。

除了数据库访问之外,您自己的代码将是每个请求花费大部分时间的地方(即使这与数据库访问相比通常并不重要),框架可能不会影响花费在请求上的时间,除非它真的是写得不好。

最好寻找一个具有良好缓存支持的框架(Code Igniter 可能有,我不知道),这几乎总是可以为您节省更多的时间,而不是您可以通过使用稍快的框架。

也看看 Zend 框架,它具有 PHP 5 的优点,而据我了解,Code Igniter 仍然是 PHP 4。在速度方面这可能是一个问题,但我不知道支持哪个框架。Zend 具有良好的缓存支持和数据库分析器,可以帮助您找到瓶颈所在。

于 2008-08-17T10:17:57.103 回答
2

我建议自己测试一下。使用xdebug 的分析器创建一个 cachegrind 兼容文件和webgrind来可视化文件。

这样你就可以得到非常可靠的信息。

于 2008-08-16T19:51:18.273 回答
1

CodeIgniter 对于大多数项目来说都非常快。有些人在这里发帖,如果你用谷歌搜索,你会发现它在速度方面优于其他框架。

我同意另一位发帖者的观点,即在框架选择方面,性能通常不是一个大问题。主要框架对于大多数项目都有足够的性能。

于 2009-07-04T00:46:47.640 回答
1

我维护了一个每年都会被抨击几次的网站。去年,开发团队使用 Codeigniter 重写了整个网站,我们在性能方面非常幸运。此外,执行重写所需的时间非常短,因为这个框架很容易使用。如果您发现自己不喜欢 Codeigniter,我认为 CakePHP 也是一个不错的选择。

于 2011-03-24T19:12:35.963 回答
1

对于 CodeIgniter 和其他 PHP 框架,PHP Quick Profiler对于基准测试和测量速度非常方便,尤其是对于数据库查询。您必须检查一下: php-quick-profiler

它非常易于安装,并提供了一个很棒的 GUI 来检查不同的基准测试。

于 2014-02-27T07:51:24.320 回答