网站突然访问很慢,甚至无法访问,登录面板,看到CPU直接100%,内存正常。看了下进程,还是MYSQL占有率最高。(没截图)
1.重启mysql、php、nginx,没几秒CPU又上去了,想想不应该,之前重启下就好了,redis也正常;使用插件query monitor查看了下,发现有几个SQL延时快10s了,于是翻出主题代码,稍微优化了下,没太多改动;效果不佳;
想了下 该做的优化其实都已经做了,应该不至于,之前由于wordpress搜索的问题,后来加了ES,已经好了很多了,应该也不至于,不过想了想,进入主题,把仅搜索标题开启了,这下好了,CPU一下就降下来;开始往ES上想,随后重启es、同步数据,再把“仅搜索标题”关闭,效果还是一样,试了下搜索:之前丝滑的搜索,现在直接502…..
开始怀疑ES没起作用,由于使用的elasticpress,查看了下设置,发现都正常,但又不确定现在的搜索是否走的ES,让AI写了个插件…然后开始了我的噩梦:
几个AI写的插件都说我并没有使用elasticpress…..感觉世界都塌陷了…这么久我特么用了个寂寞?然后又是去翻官方文档,没鸟用;
想到使用的elasticpress版本不是最新的,于是搜索了下,发现了个新东西:ElasticPress Debugging Add-On
刚好我也装了query monitor,想着先试试,死马当活马医了;
然后就发现赤裸裸的报错(当时没截图,一心只想解决问题):
Error: field [post_date_gmt] is of type [
org.elasticsearch.index.mapper.TextFieldMapper$TextFieldType
@5c50952b], but only numeric types are supported. Recommended Solution: It seems you saved a post without doing a full sync first because post_date_gmt is missing the correct mapping type. Delete all data and sync to fix the issue.
应该是同步ES的时候,哪个post_date_gmt有问题…问题发现了,然后删除数据,重新同步…测试OK了