Surveillance des connexions à la base de données PHP : suivez l'utilisation et les performances de la connexion
La surveillance des connexions est essentielle pour optimiser les performances de la base de données et garantir la stabilité des applications. Cet article explique comment utiliser PHP pour suivre et surveiller l'utilisation et les performances des connexions aux bases de données.
Installez l'extension de base de données
Avant de commencer, vous devez installer l'extension de base de données. Les extensions les plus couramment utilisées sont MySQLi et PDO. Voici comment installer les deux extensions :
MySQLi :
sudo apt-get install php-mysqli
PDO :
sudo apt-get install php-pdo
Connectez-vous à la base de données
Tout d'abord, vous devez vous connecter à la base de données. Vous pouvez utiliser le code suivant pour établir une connexion MySQLi :
$mysqli = new mysqli("host", "user", "password", "database"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; }
Pour PDO, vous pouvez utiliser le code suivant :
$dsn = 'mysql:host=host;dbname=database'; $user = 'user'; $password = 'password'; try { $conn = new PDO($dsn, $user, $password); } catch (\PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }
Pour surveiller la connexion à l'aide de
, vous pouvez utiliser le mysqli_get_connection_stats() intégré à PHP.
et mysqli_get_links_stats()
obtient des informations sur l'utilisation de la connexion. Voici un exemple de code pour afficher le nombre de connexions à une base de données MySQL : mysqli_get_connection_stats()
和 mysqli_get_links_stats()
函数获取有关连接使用的信息。以下是一个示例代码,用于显示与 MySQL 数据库的连接数:
$connection_info = mysqli_get_connection_stats($mysqli); echo "Number of open connections: " . $connection_info['connection_count'] . "\n";
对于 PDO,可以使用以下代码:
$stats = $conn->query("SHOW VARIABLES LIKE 'Connections'"); echo "Number of open connections: " . $stats->rowCount() . "\n";
监控连接性能
可以通过测量查询执行时间来监控连接性能。你可以使用 PHP 内置的 microtime(true)
函数:
$start = microtime(true); $query = "SELECT * FROM table"; $result = $mysqli->query($query); $end = microtime(true); echo "Query execution time: " . ($end - $start) . " seconds\n";
对于 PDO,可以使用以下代码:
$start = microtime(true); $statement = $conn->prepare($query); $statement->execute(); $end = microtime(true); echo "Query execution time: " . ($end - $start) . " seconds\n";
实战案例:自动关闭空闲连接
PHP 连接监控可以用来自动关闭空闲的数据库连接。以下是一个示例代码,使用 mysqli_reap_async_connections()
mysqli_reap_async_connections($mysqli); // Repeat the reaping every 60 seconds sleep(60);
$conn->close(); // Repeat the closing every 60 seconds sleep(60);
microtime(true)
intégrée à PHP : 🎜rrreee🎜Pour PDO, vous pouvez utiliser le code suivant : 🎜rrreee🎜🎜Cas pratique : fermer automatiquement les connexions inactives🎜🎜🎜Surveillance des connexions PHP peut être utilisé Fermer automatiquement les connexions de base de données inactives. Voici un exemple de code, utilisant la fonction mysqli_reap_async_connections()
: 🎜rrreee🎜Pour PDO, vous pouvez utiliser le code suivant : 🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!