我正在运行一个基于 wordpress 的网站,该网站现在托管在 (mt) 上,使用 DV-Extreme 套餐 2GB+256MB 附加 RAM。这是一个多作者网站,人们在这里撰写帖子、评论、更新状态等。根据 Google Analytics 本月的流量
访客数 = 45,764 页面浏览量 = 1,051,186 访问量 = 141,447
我有 cdn 我的站点,压缩了 css,使用了 w3 Total cache 插件来优化我的站点。
从上个月开始,我就收到了 Pingdom 的几次宕机通知。现在我收到的宕机警报比以前更多了。我不得不重启我的网站好几次才能恢复。
我的托管资源不够吗?我需要更多资源吗?或者有什么解决办法?
如能得到有用的建议,我们将不胜感激。
谢谢。
答案1
我认为最大的失败是在虚拟化系统上执行此操作。我不会将高流量网站放在任何类型的共享主机上。
我想要一个专用的服务器,因为这样,我可以保证我可以优先处理系统进程来处理网站的 IO,而不必担心服务器为其他用户所做的事情。
MT 的专用虚拟服务器听起来有点矛盾。到底是哪个?专用还是虚拟?您不能同时拥有两者,除非您是主机服务器上唯一的 VM,在这种情况下,有什么意义呢?
我可能也想扩展……获得一对服务器,在它们之间进行 mysql 循环复制,使用 Varnish 进行负载平衡和缓存。将这些应用程序备份到具有快速磁盘(600GB SAS)和大量 RAM(16GB+)的服务器上。
现在 RAM 很便宜,Varnish 会大量使用 RAM 来加快资产交付速度。您会注意到速度大幅提升。由于磁盘速度更快,数据库写入速度也会更快。
尝试将日志和数据库分区放在不同的磁盘上,这样日志(主要是顺序)访问就不会被数据库访问(随机读写)打断
答案2
对于 DV Extreme 来说,这实际上不算多的流量。查看 MT 自己的知识库,了解如何配置 httpd.conf 以获得更好的 Apache 性能的提示。
并给予WordPress更多内存:添加define('WP_MEMORY_LIMIT', '256M');
到wp-config.php的顶部。
通过运行以下命令删除帖子修订来清理数据库:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'
之后进行优化,并添加 define ('WP_POST_REVISIONS', 0); 到 wp-config.php 以防止将来的修改。
跑步MySQLTuner并对my.cnf做出建议的更改并监控性能变化。