数据库连接不断增加

时间:2013-11-16 00:03:01

标签: php mysql ajax

在我的网站上,我在每个页面中包含一个连接文件,代码如下:

try {                                                                                 
$DB = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);  

}
catch(PDOException $e) {      
 echo $e->getMessage();
 }

然后在每个页面中调用各种函数,每个函数看起来类似于:

function getAllBenchmarkQuestions($sid){                
global $DB;  
$quizHandle = $DB->prepare("SELECT * FROM benchmarkquestions
                            WHERE sid = :sid AND active = 0");   
$quizHandle->bindParam(':sid', $sid);
$quizHandle->execute();
$quizHandle->setFetchMode(PDO::FETCH_ASSOC);
return $quizHandle;
}

如果我像'%onn%'那样运行show status;我明白了:

Aborted_connects    9505
Connections 1577837
Max_used_connections    52
Threads_connected   3

即使网站上没有我以外的用户,每次刷新命令时连接数似乎都会增加,大约每秒4-5次。

我遇到了很多问题,最大限度地减少了连接数,并试图弄清楚如何解决问题。有一些页面是通过ajax调用的,我包含了连接文件。通过ajax调用的页面用于根据用户交互插入数据,例如:

<?php session_start();
include('../includes/startup.php');
$questionId = $_POST['questionId'];
$answer = $_POST['answer'];

insertQuizAnswer($questionId, $userId, $answer, 1);

?>

我是否错误地设置了这个?

1 个答案:

答案 0 :(得分:0)

理论上,您可以将连接存储在会话变量中吗?