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 (将#修改为@)