【问题标题】:Quickest ways to speed up your YII application?加快 YII 应用程序的最快方法?
【发布时间】:2012-11-20 15:42:00
【问题描述】:

我刚刚开始使用 YII 并设法完成了我的第一个应用程序。不幸的是,发布日快到了,我希望这个应用程序超级快。到目前为止,我遇到的唯一加速它的方法是standard caching。还有哪些其他方法可以加快我的应用程序的速度?

【问题讨论】:

  • 你读过performance tuning吗?
  • 这回答了我需要的一切。那我要不要删这个帖子?还是关闭它?
  • 或者,作为替代方案,@bool.dev 可以将他 9 次赞成的答案放入实际答案中,并且 coderama 可以接受它。这也没有错。
  • 实际的问题是你尝试了什么?您是否尝试过跟踪性能瓶颈?数据库大小,可缓存内容,....正如其他人指出的那样。在项目的最后阶段考虑性能对我来说没有意义。应该首先考虑。

标签: php performance yii


【解决方案1】:

首先,阅读官方指南中的Performance Tuning。另外:

  • Check HTTP caching
  • 更新您的 PHP。每个主要版本都会给您带来很好的提升。
  • 对会话使用 redis(或至少是数据库)(默认 PHP 会话使用文件并处于阻塞状态)。
  • 考虑使用 nginx 代替(或与)apache。它提供的内容要好得多。
  • 考虑使用 CDN。
  • 调整您的数据库。

这些都是比较容易做的一般事情。如果事后不能接受,不要假设。个人资料。

【讨论】:

  • 我认为“启用 APC/{$other_opcache}”部分应该更加强调。可能与this guide 结合使用。 HTH :)
【解决方案2】:

1.遵循最佳做法

在这个秘籍中,我们将看到如何配置 Yii 以获得最佳性能,并将看到构建响应式应用程序的一些额外原则。这些原则既是一般性的,也是与 Yii 相关的。因此,即使不使用 Yii,我们也可以应用其中的一些。

准备好了

安装 APC (http://www.php.net/manual/en/apc.installation.php)

使用 yiic webapp 生成一个全新的 Yii 应用程序

2.加快会话处理速度

在大多数情况下,PHP 中的本地会话处理都很好。您希望更改会话处理方式的原因至少有两个:

当使用多台服务器时,您需要为两台服务器提供一个公共会话存储

默认 PHP 会话使用文件,因此可能的最大性能受到磁盘 I/O 的限制

3.使用缓存依赖和链

Yii 支持许多缓存后端,但真正让 Yii 缓存灵活的是依赖和依赖链支持。在某些情况下,您不能仅仅将数据缓存一个小时,因为缓存的信息可以随时更改。

在这个秘籍中,我们将看到如何缓存整个页面并在更新时始终获得新数据。该页面将是仪表板类型,并将显示添加的五篇最新文章和为一个帐户计算的总数。请注意,操作在添加时无法编辑,但文章可以。

4.使用 Yii 分析应用程序

如果应用了部署 Yii 应用程序的所有最佳实践,但您仍然没有获得所需的性能,那么很可能是应用程序本身存在一些瓶颈。处理这些瓶颈的主要原则是永远不要假设任何事情,并且始终在尝试优化代码之前对其进行测试和分析。

【讨论】:

  • 默认 PHP 会话问题不是磁盘 I/O,而是这些被阻塞的事实。
【解决方案3】:

如果您的大部分应用都是可缓存的,您应该尝试使用 varnish 之类的代理。

【讨论】:

    【解决方案4】:

    进行一般的 PHP Mysql 性能调整。

    1)Memcache

    Memcahced 开源分布式内存对象缓存系统,它可以帮助您通过减少数据库服务器负载来加速动态 Web 应用程序。

    2)MySQL Performance Tuning

    3)PHP的Webserver性能转向

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      • 2021-08-26
      相关资源
      最近更新 更多