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

2019-05-07 20:40:32 +08:00
 iguoji
数据库买的阿里云的 rds

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

这个是用 SHOW PROCESSLIST 看到的结果

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

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

CURL 被封装在一个函数里,5 秒超时
iguoji
2019-05-07 20:48:53 +08:00
@opengps 能从 PROCESSLIST 里看到原因或是哪一个进程 ID 出的问题吗?
263
2019-05-07 20:55:56 +08:00
我猜是有慢查询,看看索引吧。
iguoji
2019-05-07 21:23:13 +08:00
@263 应该是这样,倒是有不少慢日志
lenmore
2019-05-08 00:10:57 +08:00
看下 order_detail 的 oid 有没有索引。没有就建一个。
akira
2019-05-08 03:21:20 +08:00
找个人帮你做下数据库优化吧
shiny
2019-05-08 04:12:39 +08:00
是不是开始事务之后再去做网络操作?这样极有可能出现这样的错误,网络是不可靠的。
akstrom
2019-05-08 09:15:01 +08:00
优化表,优化业务逻辑
ratel
2019-05-08 09:48:22 +08:00
可以做个队列串行处理,你的流量全部打到 MYSQL 肯定不行的,前端做异步轮询结果。
dsnake1984
2019-05-18 08:02:12 +08:00
尼玛 用 redis 什么年代啦~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561963

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX