我刚刚开始使用 YII 并设法完成了我的第一个应用程序。不幸的是,发布日快到了,我希望这个应用程序超级快。到目前为止,我遇到的加速它的唯一方法是标准缓存。还有哪些其他方法可以加快我的应用程序的速度?
4 回答
首先,阅读官方指南中的性能调优。此外:
- 检查 HTTP 缓存。
- 更新你的 PHP。每个主要版本都会给你一个很好的提升。
- 对会话使用 redis(或至少是数据库)(默认 PHP 会话使用文件并且是阻塞的)。
- 考虑使用 nginx 代替(或与)apache。它提供的内容要好得多。
- 考虑使用 CDN。
- 调整你的数据库。
这些都是比较容易做到的一般性的事情。如果事后不能接受,不要假设。轮廓。
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 应用程序的所有最佳实践都应用了,但你仍然没有得到你想要的性能,那么很可能是应用程序本身存在一些瓶颈。处理这些瓶颈时的主要原则是,您永远不应该假设任何事情,并且始终在尝试优化代码之前对其进行测试和分析。
如果您的大部分应用程序都是可缓存的,您应该尝试使用 varnish 之类的代理。
转到一般的 PHP Mysql 性能转向。
1)内存缓存
Memcahced 开源分布式内存对象缓存系统,它可以帮助您通过减少数据库服务器负载来加速动态 Web 应用程序。
2) MySQL 性能调优
3)PHP的Webserver性能转向