Maison  >  Article  >  développement back-end  >  Surveillance des connexions à la base de données PHP : suivez l'utilisation et les performances de la connexion

Surveillance des connexions à la base de données PHP : suivez l'utilisation et les performances de la connexion

WBOY
WBOYoriginal
2024-05-31 17:46:00634parcourir

PHP 数据库连接监控:跟踪连接使用和性能

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

Pour PDO, vous pouvez utiliser le code suivant :

$conn->close();

// Repeat the closing every 60 seconds
sleep(60);

🎜Surveillance des performances de connexion🎜🎜🎜Vous pouvez surveiller les performances de connexion en mesurant le temps d'exécution des requêtes. Vous pouvez utiliser la fonction 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 : 🎜rrreee

Ce 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn