我正在用PHP创建一个新的Web应用程序,我想以一种随着时间推移而扩展的方式创建它。
我应该或不应该做什么?我知道我应该缓存,但我应该缓存什么以及如何缓存?我还能做些什么让网站保持快速加载?
答案 0 :(得分:28)
注意:这不是我写的,而是Snorkel from YC news
这是一个简短的清单:
Varnish
或其他反向代理缓存。APC
或XCache
PHP操作码缓存。memcached
,redis
,文件缓存和应用程序级缓存(即全局变量)减少数据库触摸Apache
,MySQL
和Linux
有许多影响性能的设置,尤其是应该关闭超时设置。< / LI>
strace
,top
,iostat
,vmstat
和查询日志记录等工具层正在使用最多的时间和资源大多数情况下,PHP会因为每个PHP进程被阻塞而等待来自其他层的I / O(无论是慢速磁盘,数据库过载,还是挂起的memcached进程,还是缓慢的REST API调用到第三方)而导致速度变慢服务...通常只是在一个实时的PHP进程中向你展示它正在等待的东西...简而言之,阻塞I / O会减慢一切。更快的关键是:
答案 1 :(得分:1)
扩展到多个前端还需要复制网站的根目录及其动态内容。
GlusterFS是一个不错的补充,但我不清楚它的扩展程度。另一种选择是Lsyncd。其他替代方案可能包括代码的GIT和动态内容的CDN。
答案 2 :(得分:0)
您应该添加:使用gzip压缩输出。