blog:mysql:production-problems:insert-on-duplicate

insert on duplicate 导致的MySQL连接数和事务数居高不下

  • 表中数据量大概两千万
  • 为提高TPS,将入库和业务处理异步化。可能存在第三方业务回执通知早于数据入库。所以数据入库更新采用了insert on duplicate 的方式
  • 短时间内有大量的回执请求
  • 数据库的隔离级别为RR

  • 监控显示,连接数和事务数持续居高不下
  • 由于数据库表中数据量比较大,事务处理较慢
  • 后入的请求长时间获取不到锁导致的请求中断,然后重新尝试获取锁。在这个过程中产生了大量新的连接和事务
  • blog/mysql/production-problems/insert-on-duplicate.txt
  • 最后更改: 2022/04/13 08:41
  • okami