首页 > 解决方案 > AWS-EC2(Laravel、MySQL)上的连接错误太多 - SQLSTATE[HY000] [1040]

问题描述

我想一次处理 1000 到 10000 个异步请求,每个请求包含 2 个 MySQL 查询。问题是服务器能够处理请求(通过 https 日志确认)但由于“连接过多错误”而无法处理。

问题:

  1. 我应该增加 MySQL 的“最大用户连接数”并增加必要的硬件(或)我应该联系数据库管理员吗?
  2. 如何处理这个错误?(发生此错误以重新启动 MySQL 时,我无法连接到服务器,并且在我重新启动整个服务器之前它不会恢复正常状态)

我目前正在处理这种情况,如果有人仅对其中一个问题有想法,请回答,以便其他问题有所了解。由于我是一名开发人员,这将是使用付费 AWS 支持的最后选择。

标签: mysqllaravelamazon-ec2

解决方案


也许您需要检查您的应用架构。

如果我是你,而不是尝试同时处理所有请求,我会执行以下操作: - 每次应用程序收到请求时,我将分派一个执行这些 SQL 请求的作业。- 我将有多个后台工作人员处理这些作业,并且我会将并行进程的数量限制为数据库可以处理的数量。

这样,您将确保所有请求都得到处理,而不是同时进行

更多信息: https ://laravel.com/docs/6.x/queues


推荐阅读