【问题标题】:What are the best techniques for making my LAMP sites download faster?使我的 LAMP 网站下载速度更快的最佳技术是什么?
【发布时间】:2010-10-10 13:46:25
【问题描述】:
我为我的工作建立了一些网站,没什么大不了的,主要是人们在办公室之外可以访问和使用的小工具。作为开发人员,我不是很有经验,但我喜欢修补很多东西,我想知道是否有人可以对我的网站进行任何巧妙的小调整以加快下载速度?我们在南美有一个办公室,互联网连接很差,经常抱怨我的网站使用时间太长。到目前为止,我发现以下站点非常有用,另一个办公室的人说他们看到了服务的不同www.dev-explorer.com/articles/apache-optimisation
有人知道我还能做些什么吗?
非常感谢任何帮助。
提前致谢
约翰
【问题讨论】:
标签:
php
apache
optimization
lamp
【解决方案2】:
2 件有用的东西(来自 YSlow)是 CDN(内容交付网络)...和用于静态内容的无 cookie 服务器。
即使您可以将图片推送到另一台服务器上,您也可以更快地加载 HTML 内容,而图片下载可以在后台从其他服务器进行。
如果可能的话,尽量让这些其他服务器(用于图像、CSS 和脚本)不使用 cookie,这会节省一点点,但听起来你正试图挤出最后一滴水。 ;-)
当然,缓存所有内容,除了您的 HTML。
【解决方案3】:
几个简单的技巧:
首先,将自己限制在一个 CSS 和一个 Javascript 文件中。不再。如果您有多个将它们压缩成一个(每个)。理想情况下,您的 Javascript 也应该被缩小。我最近一直在使用 JSMin。
有一些更先进的技术可以进一步优化这一点。您将 expires 标头设置为远在将来,这样浏览器就不会经常下载它。要推送更改,您需要更改指向 css/js 文件的链接。您可以使用 Apache mod_rewrite 和一个小的 PHP 脚本来做到这一点。
What is an elegant way to force browsers to reload cached CSS/JS files? 了解更多信息
您还可以对图像使用过期技巧。
其次,gzip 你的内容。通常,您在 PHP 中要做的就是启动所有脚本:
ob_start('ob_gzhandler');
这会打开输出缓冲(无论如何都是个好主意),如果浏览器说它支持 gzip 编码,您的脚本将在发送到客户端之前被 gzip 压缩。
【解决方案4】:
查看 YSLOW 并阅读 Yahoo Dev 博客。通过优化前端可以做很多事情。
- 限制http请求数(css、js、图片)
- 在 apache 中使用 mod_deflate 压缩您的内容
- 尽可能使用远期过期标头
- 使您的 HTML 标记尽可能精简