微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL-N-Gram解析器导致高CPU使用率

如何解决MySQL-N-Gram解析器导致高CPU使用率

我们有一个网站,其数据库正在AWS RDS上运行。
innodb表上只有一个FULLTEXT索引用于站点搜索功能

我们的大多数数据都包含CJK字符,由于认解析器的行为不适合CJK字符,即使我们将innodb_ft_min_token_size设置为1,我们也要更改为使用N-Gram解析器。

使用N-Gram解析器,FULLTEXT搜索结果比以前更好。但是,cpu利用率一直处于较高值(超过70%),非常容易导致RDS服务器无响应。这是示例图像之一。

enter image description here

而且,有时它会保持99%的使用率,并很快导致RDS服务器宕机。

我已经使用show processlist检查正在运行的线程,但是我们网站的流量很小。查询很少,而且也不复杂。

如果我们在不使用N-Gram解析器的情况下构建FULLTEXT索引,则cpu利用率稳定在5%到20%的范围内。一切正常,仅搜索结果不令人满意。
这个问题有解决方案吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。