我的数据库大小超过10 is,它减慢了网站的速度。我想将它分开,并将这些DB分离到专用服务器上。我在用MariaDB。
如何分割WordPress数据库?
发布于 2019-01-24 22:22:43
看看WPSE:https://wordpress.stackexchange.com/questions/2825/wordpress-sharding-which-multi-db-plugin-to-use上的答案
尽管如此,大型数据库本身并不是一件坏事。然而,糟糕的是未优化的数据库、膨胀的数据库(许多插件只是转储数据(通常是后置或选项表),以及未优化的数据库查询。
这里有几个DB优化插件,我会先考虑使用,或者手动挖掘。确保您的options表尽可能精简,并确保删除任何和所有孤立的数据(例如,不再有父帖子且不被引用的媒体图像)。我看到插件给留下了数百兆字节的值,除了选项表中无用的数据之外。当它被加载到每一个页面请求时,这个站点就会变成糖蜜状的状态。
从一个纯粹的轶事的角度来看,我目前正在对一个缓慢/臃肿的十年前的网站进行地面重构。它使用了大量插件,数据库在许多表中都有大量重复的信息,有许多元查询(它们没有索引或键控,因此在大型站点上非常慢),选项表中存储了大量无用/过时的选项。
新的网站充满了100%可行的测试数据,数据库现在大约有3到4位。问题是,我的表得到了优化,列被适当地编入索引,甚至还有自定义的关系post表将post类型连接在一起。我有大约45万个不同类型的帖子,使用$wpdb
类的简单查询,它可以在一秒钟的时间内筛选和加载几十个或数百个帖子,而不会影响内存的使用。
最重要的是,在考虑拆分/分片数据库之前,您几乎可以肯定地看到了、优化、和,在考虑拆分/分片数据库之前,会对数据库进行裁剪。
另一种选择是改进硬件,即拥有一台主机和一台数据库机器,这将固有地提高性能,因为每台机器都可以针对手头的任务进行优化,而不是共享它不需要的资源。
以下是我的一个请求的简单屏幕截图。这是一个页面从表中加载200个自定义post类型,其中包含45万条记录。每个定制的post类型都与0-20个其他post类型相关,其中一个甚至与1500其他post类型相关--尽管还没有完全优化,但它仍然几乎立即加载。
发布于 2019-01-24 22:49:41
请您检查一下DB内部的内容,因为与往常一样,10 DB的DB并不是很平常。这是非常不寻常的,除非你有大量的帖子或评论。检查哪个表包含最多的空间,并检查表中的哪个表。
此外,检查wp_users和wp_comments表,如果有最大的规模,那么我相信这是垃圾邮件的效果!
只需检查用户和删除垃圾邮件评论。这可能不是一个很好的解决方案,因为DB太大了。
https://stackoverflow.com/questions/54355790
复制相似问题