类和函数之间的性能差异

时间:2011-04-26 21:50:13

标签: php

我正在用PHP编写一个站点,我注意到该页面需要3-5秒才能加载(来自远程服务器),这是不可接受的。该软件依赖于大约12个类来正常运行。我想知道如果我重写大多数类只使用常规的php函数,我将获得多少性能提升。

感谢您的任何意见。

编辑:我主要依赖Redis,并在这里和那里使用简单的MySQL查询。

4 个答案:

答案 0 :(得分:5)

函数或类应该几乎没有差别(完全可以忽略不计):这不是使你的网站/应用程序变慢的原因。


很难提供更多信息,因为我们不知道您的设置如何,但您可能想看看我发布到this question的答案:它包含一些有趣的想法,当涉及到表演时一个PHP应用程序。


顺便说一句:如果我可以的话,12个班级真的不是很多班级。

答案 1 :(得分:2)

在程序编程中重写所有应用程序可能是你做过的最糟糕的事情。面向对象编程不是关于性能增益,而是编写程序员友好且易于维护的应用程序(等等)。

你不应该考虑重写OO申请程序。那不是目的。如果你使用OO而不是程序编程有更大的资源消耗(而且这是非常不可能的),你应该考虑更好地扩展应用程序。如今的硬件并不昂贵。

另一方面,您的应用程序存在许多可能的瓶颈,OO可能甚至不在列表中。

您是否检查过:

  • 您的互联网连接?
  • 您服务器的互联网连接?
  • 您的ping丢失到您的服务器?
  • 您的服务器的配置? (Apache / Nginx / Lighttpd或其他任何东西)
  • 您的数据库服务器的配置?
  • 您的数据库查询?
  • 您服务器的负载?
  • 连接Redis的时间安排?
  • 您的防火墙对Redis使用的端口的规则?
  • 您的Redis配置? (maxclientstimeout

如果您对上述至少一个问题的回答是,请检查一下,如果问题仍然存在,请与我们联系!

答案 2 :(得分:1)

差异甚至可能无法衡量。

您的问题绝对不是您的代码本身,而是您访问数据库的方式。确保您的表格已正确编入索引,您将看到页面加载时间大幅下降。您可以使用EXPLAIN SELECT ...获取有关查询实际运行方式以及查询执行情况的详细信息。

答案 3 :(得分:0)

如果函数和类之间存在任何差异,你就不会发现很多不同。

有可能,你的一个或多个课程编写效率低下,或依赖于某些内容。示例可能包括等待远程服务器,图像处理,某些数据库(例如重载数据库)或无数其他方法。您应该尝试分析代码以查看问题所在。