php - 数据库连接数持续上升

标签 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;
}

如果我运行 show status like '%onn%';我明白了:

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);

?>

我的设置有误吗?

最佳答案

理论上,也许您可​​以将连接存储在 session 变量中?

关于php - 数据库连接数持续上升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012800/

相关文章:

php - 从存储在变量中的字符串中获取对象数据

php - 如何使用 PHP 检查给定格式的字符串?

php - 在 php 中的同一网页上检索所选下拉项的值,并将其他数据发布到其他表单

javascript - AJAX .done() 未按预期工作

php - 如何使用 Razorpay PHP API 获取付款详情?

mysql - 合并同一个表中的列并根据 ID 显示两列的总和

mysql - 在执行简单的 LEFT JOIN 时,如何创建高效的 DQL 语句以匹配高效的 SQL?

javascript - 检查 Ajax 调用中是否加载了 JavaScript?

javascript - jQuery AJAX - $.each 使用正确的数据重复 html 结构?

php - Android数组转mysql数据库?