2008-08-16 124 views
17

我正在考虑使用名为CodeIgniter的PHP框架。如何确定CodeIgniter速度?

我感兴趣的一件事是它的速度。但是,我无法确定它的速度有多快,而不是简单地把它的网站的话说出来。有人知道我怎么能够自己决定它的速度,还是有人可以告诉我一个网站可以?

回答

2

我建议您自己测试一下。使用xdebug's profiler创建一个cachegrind兼容文件,并使用webgrind可视化该文件。

这样你最终得到非常可靠的信息。

3

如果您的网站是数据库驱动的,我会很惊讶,如果你的瓶颈将是应用程序框架。快速开发中的“快速”是我担心的问题,而不是像处理请求时那样“快”。通过缓存策略和优化数据库访问可以更好地完成重要的优化。

除了数据库访问,你自己的代码将是每个请求大部分时间花在哪里(甚至与数据库访问相比通常并不重要),框架可能不会影响花在请求上的时间,除非它写得很糟糕。

最好是寻找一个具有良好缓存支持的框架(Code Igniter可能有,我不知道),它几乎总能为您节省更多的时间,而不是几毫秒就可以减少请求通过使用稍快的框架来处理。据我了解,CodeWriter仍然是PHP 4的好处,但它仍然是PHP 5的好处。当谈到速度时,这可能是一个问题,但赞成我不知道的框架。 Zend具有良好的缓存支持和数据库分析器,可以帮助您找到瓶颈。

8

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

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

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

我相信,任何规模的PHP应用程序的负载下运行,您将需要一个操作码缓存,你需要使用类似的memcached或任何内置的缓存机制您的框架支持智能内容缓存写。

1

Theo,

是Code Igniter提供缓存。不知道如何有效,但它是可用的。

3

Paul M. Jones最近更新了他的framework benchmarks。他正在比较几个流行的PHP框架中的Hello World应用程序的性能。

这些都很有趣,但请记住,并没有太多关于真实世界的应用。

1

CodeIgniter对于大多数项目来说足够快。有些人已经在这里发布了,如果你是谷歌,你会发现它在速度方面与其他框架相比毫不逊色。

我同意另一张海报,表示在框架选择时性能通常不是一个大问题。主要框架对大多数项目都具有足够的性能。

1

您会对Codeigniter感到满意。我有几个重负荷的网站,它对我来说表现非常好。

1

与其他php框架相比,我发现codeigniter相当快。

它甚至快速学习.. ;-)

如果你有MVC的概念,它只是需要几个小时上手....

1

您可能需要阅读的THIS THREAD CodeIgniter论坛比较首先使用CakePHP开发的完整站点的速度,然后使用CodeIgniter重写的速度

1

我维护一个每年会遭受几次砰的冲击的站点。去年,开发团队使用Codeigniter重写了整个网站,并且在性能方面我们运气很好。此外,执行重写所花的时间很少,因为这个框架很容易处理。在我看来,CakePHP也是一个不错的选择,如果你发现你不喜欢Codeigniter。

1

对于CodeIgniter和其他PHP框架,PHP快速剖析器非常适合基准测试和测量速度,尤其是对于数据库查询。你必须检查了这一点: php-quick-profiler

这是非常容易安装,并提供了一个真棒GUI检查不同的基准测试。