我在Zend框架1.11中开发了一个网站。我的应用程序非常慢。如何提高速度?

时间:2014-04-19 14:34:27

标签: php mysql zend-framework memcached

我在Zend Framework 1.11(Mysql数据库)中开发了一个站点。它非常慢。我的应用程序适用于像hootsuite这样的社交媒体帖子。但它很慢。如何改进它。 我的数据库非常大(仅在测试中)。我的网站没有启动。请帮我提高性能。

5 个答案:

答案 0 :(得分:2)

一些通用方法:

  • 使用像APC
  • 这样的操作码缓存
  • 调整您的数据库(Percona提供了一个很好的Wizard来帮助解决这个问题。
  • 考虑使用memcache或apc缓存来缓存数据库结果(ZF支持各种cache backends

为了更具体,您需要弄清楚瓶颈在哪里。您可以在应用程序运行/慢速(vmstat,iostat,top等)时观察您的服务器并进行一些有根据的猜测,或者您可以尝试使用实际暴露您的代码花费时间和资源的许多分析工具之一做。

答案 1 :(得分:1)

您可以查看以下几点,是否适用于您:

  1. 检查您正在查询的数据。尝试重写以获得更好的性能。
  2. 检查是否要使用缓存功能,以便从缓存文件中更快地进行数据检索。
  3. 您可以使用缩小的css和js文件而不是普通的javascript和css文件(有许多第三方插件可用于将文件转换为缩小的文件)。
  4. 您可以使用块/图像精灵而不是单个图像用于您的应用程序。
  5. 检查是否有任何CDN提供商(虽然它将获得许可,并且会花费您),以便文件可以存储在其他域而不是您自己的域中,这样应用程序就会更快。
  6. 您可以尝试保存在文件系统中,而不是将所有内容存储在数据库中,以便检索速度更快,不会占用太多时间,也不会经常访问数据库。
  7. 最后但并非最不重要,检查ajax / http请求,这也是导致应用程序速度变慢的原因。
  8. 希望以上几点对您有所帮助:)

答案 2 :(得分:0)

这是一个非常普遍的问题,但性能最重要的问题是您的数据库。你可以使用memcahched或filecache。

答案 3 :(得分:0)

我同意所说的内容,我想补充一点,你可以使用存储过程,最好是数据库可以工作。 :)
例如,我向another question解释。

答案 4 :(得分:0)

将此添加到您的application.ini

resources.db.params.profiler.enabled  = true
resources.db.params.profiler.class  = Zend_Db_Profiler_Firebug

通过这种方式,您可以使用Firebug查看对数据库所做的所有查询及其时间,以查看它们是否足够快。

然后您可以使用XDebug来分析您的PHP。它可以生成报告,您可以稍后在KCachegrind中查看该报告,并查看您的PHP代码花费大部分时间的时间。