微慑信息网

针对wordpress+elasticsearch突然引爆的CPU 100%解决

1.问题:
网站突然访问很慢,甚至无法访问,登录面板,看到CPU直接100%,内存正常。看了下进程,还是MYSQL占有率最高。(没截图)
2.排查:
1.重启mysql、php、nginx,没几秒CPU又上去了,想想不应该,之前重启下就好了,redis也正常;使用插件query monitor查看了下,发现有几个SQL延时快10s了,于是翻出主题代码,稍微优化了下,没太多改动;效果不佳;
想了下 该做的优化其实都已经做了,应该不至于,之前由于wordpress搜索的问题,后来加了ES,已经好了很多了,应该也不至于,不过想了想,进入主题,把仅搜索标题开启了,这下好了,CPU一下就降下来;开始往ES上想,随后重启es、同步数据,再把“仅搜索标题”关闭,效果还是一样,试了下搜索:之前丝滑的搜索,现在直接502…..
开始怀疑ES没起作用,由于使用的elasticpress,查看了下设置,发现都正常,但又不确定现在的搜索是否走的ES,让AI写了个插件…然后开始了我的噩梦:
图片
几个AI写的插件都说我并没有使用elasticpress…..感觉世界都塌陷了…这么久我特么用了个寂寞?然后又是去翻官方文档,没鸟用;
3.解决:
想到使用的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了


4.效果:
图片
图片



赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » 针对wordpress+elasticsearch突然引爆的CPU 100%解决

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册