最近我一直在尝试提高我的博客的性能,不仅是一键修复,而且还查看代码以及 CDN、缓存等其他内容。
我与我的主机讨论了安装 memcache 以便我可以在 W3 Total Cache 中启用它,他似乎认为它实际上会阻碍我的网站,因为它会立即最大化我的 RAM 使用量(即 1GB)。
你认为他是准确的,我是否应该尝试一下?我的博客和论坛 (MyBB) 每月的综合浏览量达到 200,000 次。
最近我一直在尝试提高我的博客的性能,不仅是一键修复,而且还查看代码以及 CDN、缓存等其他内容。
我与我的主机讨论了安装 memcache 以便我可以在 W3 Total Cache 中启用它,他似乎认为它实际上会阻碍我的网站,因为它会立即最大化我的 RAM 使用量(即 1GB)。
你认为他是准确的,我是否应该尝试一下?我的博客和论坛 (MyBB) 每月的综合浏览量达到 200,000 次。
事实上,每月有 200.000 次浏览量,我会从“共享”主机中走出来,购买 VPS 或专用服务器或其他东西,Memcache(d) 确实是一个很好的工具,但还有很多其他方法可以获得更好的性能。
如果您知道如何正确使用 Memcached,它是很好的(w3 总缓存 memcached 的东西,不能胜任这项工作)。
作为一名性能工程师,我经常考虑速度,但也考虑服务器负载和其他东西。我在 wordpress 网站上工作很多,我在服务器上将性能提高到最大的方式是生成我的 wordpress 网站的 HTML 页面,这将导致对 PHP 处理程序本身的 0 或最小访问,从而大大提高了性能.
然后你可以做的是在 web 服务器前面添加另一个缓存代理,等等 Varnish,它会缓存结果,这意味着你也永远不会接触 web 服务器。
它会做的是,当客户端请求您的页面时,它将直接通过内存为已经处理的页面提供服务,这非常快。然后,您的文件上有一个 TTL,并且可以低至 50 秒,这是默认值。50 秒听起来并不多。但是,如果您有 200k 的综合浏览量,这意味着如果您每分钟的综合浏览量相同,那么您每分钟将有 4.5 次综合浏览。所以高峰时间不算。
当您进行 1 次页面查看时,将进行大量处理:
向网络服务器发出第一个请求,启动 php 进程,处理数据,从 DB 中抓取东西,处理数据,处理 PHP 站点等。如果我们可以对几个请求执行此操作,它将加快性能.
通常你也应该能够生成你的论坛的 HTML 文件,如果有对文件的请求,它会每 1-2 分钟更新一次。它将需要处理 1 个请求而不是 4-9 个请求(如果不是更多)。
您可以限制 memcached 使用的内存量。如果内存已用完,则最旧的条目将被修剪。在 CentOS/Debian 中,您可以使用该标志/etc/default/memcached
设置最大内存。-m
以我的经验,64MB 甚至 32MB 的 memcached 内存对于 Wordpress 来说已经足够了,并且会产生巨大的影响。确保不要缓存整个页面(这会很快填满缓存),而是将 memcache 用于Wordpress Object Cache。
对于一般性能:确保拥有最新的 PHP 版本(5.3+)并安装了APC。对于数据库查询,我会跳过 W3TC 并直接使用MySQL Query Cache。