跳至工具栏

你知道为啥wordpress跑千万级数据会很慢?

我们的主站金海报正在挑战千万级数据量,有兴趣的朋友可以感受一下网站的速度,最近我们正在导入了演员与电影的关联信息,估计会达到2000万的级别,对于wordpress来说,这样的数据量,Wordpress表示我很难。

为了这一数据量,近期对主题的各种查询做了深度优化,关于速度,大家自己可以试试,目前全站并没有缓存静态页面,只开启了redis的object cache。

前台目前速度还可以,后台在未优化之前,custom post type,打开需要十几秒的时间,后来发现Wordpress默认的文章排序方法是按标题排序,10万数据量的时候还能打开,100万条的时候基本就没反应了,做百万级的站点,后台这个地方需要修改一下。

另外一个是列表,wordpress的列表比较慢,上了10万数据,基本3秒起,增加INDEX索引用处也不大,如果再加上自定义排序,那将是大灾难,一种是把列表干掉,另外就是显示一部分最近的。

关于wordpress的搜索一直都不太好,数据量大了会非常的消耗资源,如果不能使用第三方的全文搜索,可以试着使用mysql的全文搜索功能,有一点需要注意,mysql 5.7已经支持了中文全文索引,但是如果和大量的英文放在一起生成索引,搜索英文将会是灾难。

发现一个问题,如果wp_posts这个表到达四百万的时候,主查询的按时间排序就会变慢,改用ID更快。实测如果按时间差不多0.7s,按ID的话0.2S,如果你用了Custom_post_type 的话估计这人值会增加,要看数量,如果对post_type加索引,实测400万条加post_type索引能到0.001s.

Published in