GreatSQL社区

搜索

[讨论中] ap引擎试用

104 4 2024-2-7 13:50

1 试用场景:
  zabbix 数据库
2 需要解决的痛点:
  查看zabbix历史数据时,数据加载的比较慢
3 试用效果:
  仅做测试,还未上线
4 :
  4.1 ap引擎同步比较慢。由于是监控场景,写入操作比较多,ap引擎延迟一直在增加
  4.2 程序要想使用ap引擎,通过hint的方式需要改造;而参数方式,由于参数是会话级的,需要修改连接模块的代码才能适配。
5 观察记录:
  实例已经销毁,日志未留存,仅表述现象。
      5.1 数据迁移通过全量逻辑导入+binlog增量持续同步的方式
      5.2 innodb增量追上后,ap引擎延迟在2000+,且观察发现,延迟持续上涨
6 实例配置:
   4C8G,ap引擎线程数:4,内存:2GB,存储为ssd,磁盘I/O负载较低,cpu负载较高


怀疑与配置有关,节后升配再试

全部回复(4)
yejr 2024-2-10 22:24:45
感谢反馈。
目前AP引擎的增量追日志的确可能延迟较大,尤其是UPDATE较多的场景下。
您说对AP引擎查询时CPU较大,想了解下rapid_memory_limit设置多大呢。
如果是通过mysql cli连接的话,可以在 my.cnf 中做设置调整(在 [mysql] 区间中增加一行 init-command 相关设置),即可在连接后自动启用AP引擎查询:
```sql
#/etc/my.cnf
...
[client]
...
[mysql]
...
init-command="SET use_secondary_engine = ON; SET secondary_engine_cost_threshold = 0; "
[mysqld]
...
```
阿川 2024-2-18 11:19:39
yejr 发表于 2024-2-10 22:24
感谢反馈。
目前AP引擎的增量追日志的确可能延迟较大,尤其是UPDATE较多的场景下。
您说对AP引擎查询时CPU ...

叶老师好
因为延迟比较大,所以还没有到测试AP引擎查询阶段
cpu负载高是innodb引擎。
我这边是改了zabbix的源码,实现程序连接时自动配置会话级参数;另外 我司主要是java的程序,延迟问题解决后我再找研发同学聊适配的问题。或者咱这边可以添加ap引擎开关的全局参数,可以默认为关。
yejr 2024-2-18 12:44:06
阿川 发表于 2024-2-18 11:19
叶老师好
因为延迟比较大,所以还没有到测试AP引擎查询阶段
cpu负载高是innodb引擎。

可以试试设置JDBC的sessionVariables参数,在每次新建立session连接时,修改SET use_secondary_engine = ON; SET secondary_engine_cost_threshold = 0; 设置。

详情参考 https://dev.mysql.com/doc/connec ... -props-session.html
yejr 2024-2-18 12:50:42
阿川 发表于 2024-2-18 11:19
叶老师好
因为延迟比较大,所以还没有到测试AP引擎查询阶段
cpu负载高是innodb引擎。

另外,可以尝试我在发布会上提到的主从复制方案,即:在主节点仍采用innodb引擎,在从节点加上Rapid引擎。
目前增量数据同步的确没那么及时,所以暂时只能用在不要求高实时性的AP类查询,我们也会针对这个情况持续优化的,有望在下个版本中解决。
阿川

2

主题

0

博客

7

贡献

新手上路

Rank: 1

积分
12

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-3-2 23:43 , Processed in 0.016197 second(s), 11 queries , Redis On.
快速回复 返回顶部 返回列表