首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  PHP

小程序商城做活动并发出现问题, Mysql 不执行语句

  •  
  •   iguoji · 194 天前 · 2000 次点击
    这是一个创建于 194 天前的主题,其中的信息可能已经有所发展或是发生改变。
    数据库买的阿里云的 rds

    http://hhzz.oss-cn-beijing.aliyuncs.com/sqlresult_31796.csv

    这个是用 SHOW PROCESSLIST 看到的结果

    谁能帮我看看问题出在哪里?
    12 回复  |  直到 2019-05-18 08:02:12 +08:00
        1
    iguoji   194 天前
    错误日志基本都是
    SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction
        2
    opengps   194 天前
    死锁。。。
        3
    iguoji   194 天前
    1 主 5 副,nginx 做负载均衡,mysql 在阿里云,主服务器上安装 redis 做 session 和缓存
    卡的期间,主副服务器 CPU 和内存都没问题,带宽也没问题,
    阿里云的 mysql 达到了 90%左右

    主要场景是用户下单,向微信发送 POST 请求,执行统一下单,得到单号,回头等微信的异步通知

    CURL 被封装在一个函数里,5 秒超时
        4
    iguoji   194 天前
    @opengps 能从 PROCESSLIST 里看到原因或是哪一个进程 ID 出的问题吗?
        5
    263   194 天前
    我猜是有慢查询,看看索引吧。
        6
    iguoji   194 天前
    @263 应该是这样,倒是有不少慢日志
        7
    lenmore   194 天前
    看下 order_detail 的 oid 有没有索引。没有就建一个。
        8
    akira   194 天前
    找个人帮你做下数据库优化吧
        9
    shiny   194 天前
    是不是开始事务之后再去做网络操作?这样极有可能出现这样的错误,网络是不可靠的。
        10
    akstrom   194 天前
    优化表,优化业务逻辑
        11
    ratel   194 天前
    可以做个队列串行处理,你的流量全部打到 MYSQL 肯定不行的,前端做异步轮询结果。
        12
    dsnake1984   184 天前
    尼玛 用 redis 什么年代啦~
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3011 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 10:50 · PVG 18:50 · LAX 02:50 · JFK 05:50
    ♥ Do have faith in what you're doing.