Php 多个mysql线程在雄辩的通话中被打开?

Php 多个mysql线程在雄辩的通话中被打开?,php,mysql,multithreading,laravel,eloquent,Php,Mysql,Multithreading,Laravel,Eloquent,我今天在mysql中遇到了一个非常奇怪的问题。我已经安装了Laravel4.2,我在所有的sql调用中都使用了eloquent,我遇到了一个问题,我在我的网站上打开了10个选项卡,mysql打开了32多个线程。我在mysql中运行show stats来查看连接的线程,通常它位于1-2之间,这对我来说很有意义,因为它似乎有2个到数据库的活动当前连接,这意味着它们正在积极地获取信息。知道发生了什么事吗?为了解决这个问题,我的站点使用了一个amazon RDS micro实例,它的最大连接数为32,因

我今天在mysql中遇到了一个非常奇怪的问题。我已经安装了Laravel4.2,我在所有的sql调用中都使用了eloquent,我遇到了一个问题,我在我的网站上打开了10个选项卡,mysql打开了32多个线程。我在mysql中运行show stats来查看连接的线程,通常它位于1-2之间,这对我来说很有意义,因为它似乎有2个到数据库的活动当前连接,这意味着它们正在积极地获取信息。知道发生了什么事吗?为了解决这个问题,我的站点使用了一个amazon RDS micro实例,它的最大连接数为32,因此我打开了10个左右的选项卡,没有人可以使用我的站点,我得到了“连接太多”错误。

每个页面请求都将使用它自己与数据库的连接,但是,当请求完成时,它们应该自动释放,除非您遇到致命错误,在这种情况下,连接可能会保持打开状态。如果您进行了AJAX轮询,那么每个请求也将使用一个db连接。有趣的是,在php中有没有一种方法可以打印或记录该页面的活动连接?我想知道我是否能查明发生了什么事。因为它似乎发生在任何一个有mysql请求的页面上,并且没有一个页面有错误。eloquent应该足够聪明,每个页面请求只创建一个db连接,除非您创建了多个连接。查看您的app/config/database.php文件,看看情况是否如此。