压测时发现的怪事:接口 TP99 高但 CPU 才 30% 六月份做订单列表接口的压测,200 并发、跑 5 分钟,结果很怪:QPS 卡在 1400 上不去,TP99 到了 620ms,但应用服务器 CPU 只有 30% 出头,数据库连接池(HikariCP,最大 20)也没打满,MySQL 那边
同事问:我这个接口没写 limit,为什么只返回 10 条 1 月底,隔壁工位的同事喊我过去看个怪事。他的导出接口调了两次 Mapper:第一次查订单列表,第二次查订单状态统计。结果统计接口只返回了 10 条数据,而他的 SQL 里压根没有 limit。 我把 MyBatis 的 SQL 日志打开(
运营说:我明明改了数据,页面还是旧的 去年做后台管理系统时遇到件怪事。运营在页面上改了一条商品记录的库存,保存成功,数据库里确认已经改了,但刷新列表看到的还是旧值。过几分钟再刷又对了。 我把日志级别调到 DEBUG,看到这么一段: ==> Preparing: SELECT id, name, s
3 万条数据导了 20 分钟 上周五下午接到个活儿:从老系统导 3 万条历史订单到新库。我写了个循环,单次 insert,跑起来就去接水了。回来一看还在跑,最后总共花了 18 分 42 秒。DBA 在钉钉上问我是不是在攻击数据库。 痛定思痛,我把 MyBatis 批量插入的几种写法全试了一遍,顺便记