MySQL突然连接太多

时间:2016-11-07 04:43:10

标签: php mysql google-cloud-sql

您好我有点混淆定义我的问题标题,但这是我的条件和问题:

我有一个由PHP和MySQL创建的云应用程序(我使用Google Cloud SQL)

我的数据库每秒都会主动获取数千个新数据(包含我的许多用户位置和活动)

我创建了一个PHP程序,用以下查询从这些数据中提取洞察力:

SELECT username,time_of_activities FROM (table_name) WHERE latitude>=somevalue AND longitude>=somevalue

对于每个请求,我按顺序请求了几个查询,其中每个查询将处理数据库中的数百万行数据。 PHP程序将显示与用户活动相关的几个洞察信息。

我的问题是: 有时PHP程序无法执行请求。当请求失败时,我检查CloudSQL活动连接,活动连接在几秒钟内突然增加4000%。

Screen Shot of Active Connection

一旦PHP请求失败,就会发生这种情况。一旦发生这种情况,数据库将始终返回"连接太多"错误,我需要手动重启CloudSQL实例。

有时候这个PHP程序会成功运行,但有时候不能解决这个问题。

所以我的问题是:出了什么问题?

NB。我已经推出了mysql_close函数,以确保每次PHP成功执行查询时都关闭连接。

更新问题: 我尝试检查数据库中的连接细节,发现有很多"等待插入"发生这种情况是因为当我尝试选择数据的同时,数据库每秒都会不断地使用插入查询获取新数据。

这是什么原因导致我的错误?如果是,如果在正常情况下,活动连接突然大了4000%,我只有活跃的4-6连接,即使我经常对数据库执行插入过程?

由于

1 个答案:

答案 0 :(得分:0)

您是否将mysql_close放在finally声明中?

http://php.net/manual/en/language.exceptions.php

如果你不把它放在finally里面,如果程序中有错误则可能无法执行