想让页面瞬间加载。
我的首页需要 1.1 秒才能加载 ping 74 毫秒。类似的(ping 72 毫秒)英文维基百科页面(实际上在大量使用的主机上大 40% 的文档)在 0.4 秒内加载。我的网站在 APC 下运行 Mediawiki 软件,在一个具有 1 GHz Athlon 的专用主机上运行,几乎没有任何流量,并且机器有一些空闲的核心内存。
有没有办法加快负载,或者我可以看看什么?我试过鱿鱼,根本没有改善。
我使用的测试是time wget url
谢谢。
PS我已经问过类似的问题,但我认为它的表述不够清楚。
您必须确定瓶颈并消除它。
利用缓存技术,例如您提到的 APC、memcached,调整您的数据库配置,例如,如果您使用 MySQL,请在 my.cnf 中启用查询缓存。
为您的服务器获得更好的 Internet 连接,在开发时,使用 CSS sprites [1] 等技术。用于最小化用于下载内容的单独 HTTP 连接的数量(在可能的情况下)。下载并查看 YSlow 对您网站的评价 [2]。
“YSlow 根据 Yahoo! 的高性能网站规则分析网页以及网页速度慢的原因。”
我们可以整天推测页面加载速度不快的原因……或者您可以在 Mediawiki 中启用分析。这应该使您能够查看 PHP、APC、Mysql 等生成页面所需的时间。这应该为您提供足够的数据来确定下一步该做什么。我确实怀疑,由于您的服务器不忙,因此由于您是第一个请求者,因此它不会提供任何超出缓存的服务。
http://www.mediawiki.org/wiki/Profiling#Profiling
需要考虑的一些事项:
如果您使用的是 Firefox,请使用 Firebug 的 Net 面板和 YSlow 来确定您的页面在哪里停止。(我曾经为拥有一个被调整为适合单个以太网框架的首页而感到自豪,但那是在 Web 2.0 之前。)
维基百科为未登录的用户缓存所有页面。您看到的是内存中或磁盘上的缓存。登录并加载页面,加载时间会更长。话虽如此——有大量的 MySQL 调整可以用内存球来完成,以使 MediaWiki 运行得相当快。
另请参阅媒体 wiki 服务器和缓存策略。在第一页,他们声称 Squid 缓存命中率为 78%。他们将渲染页面存储在一个巨大的 6gb 内存缓存存储中,并使用 6gb 的内存来缓存数据库(99% 的缓存命中率)。
没有这种缓存的默认媒体 wiki 将具有您所看到的可怕性能。Wikipedia 是通过 5 层缓存和内存球体组成的 MediaWiki。