首頁 > 後端開發 > php教程 > PHP 資料庫連線監控:追蹤連線使用與效能

PHP 資料庫連線監控:追蹤連線使用與效能

WBOY
發布: 2024-05-31 17:46:00
原創
653 人瀏覽過

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

PHP 資料庫連線監控:追蹤連線使用和效能

連線監控對於優化資料庫效能和確保應用程式穩定性至關重要。本文將介紹如何使用 PHP 追蹤和監控資料庫連線的使用和效能。

安裝資料庫擴充功能

在開始之前,你需要安裝資料庫擴充功能。最常用的擴充是 MySQLi 和 PDO。以下是如何安裝這兩個擴充功能:

MySQLi:

sudo apt-get install php-mysqli
登入後複製

PDO:##

sudo apt-get install php-pdo
登入後複製

##連接到資料庫

首先,你需要連接到資料庫。你可以使用以下程式碼建立一個MySQLi 連線:

$mysqli = new mysqli("host", "user", "password", "database");

if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
登入後複製

對於PDO,你可以使用以下程式碼:

$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();
}
登入後複製

監控連線使用

可以使用PHP 內建的

mysqli_get_connection_stats()

mysqli_get_links_stats() 函數取得有關連線使用的資訊。以下是一個範例程式碼,用於顯示與MySQL 資料庫的連線數:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$connection_info = mysqli_get_connection_stats($mysqli); echo &quot;Number of open connections: &quot; . $connection_info['connection_count'] . &quot;\n&quot;;</pre><div class="contentsignin">登入後複製</div></div>對於PDO,可以使用以下程式碼:

$stats = $conn->query("SHOW VARIABLES LIKE 'Connections'");
echo "Number of open connections: " . $stats->rowCount() . "\n";
登入後複製

監控連線效能

#可以透過測量查詢執行時間來監控連線效能。你可以使用PHP 內建的

microtime(true)

函數:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$start = microtime(true); $query = &quot;SELECT * FROM table&quot;; $result = $mysqli-&gt;query($query); $end = microtime(true); echo &quot;Query execution time: &quot; . ($end - $start) . &quot; seconds\n&quot;;</pre><div class="contentsignin">登入後複製</div></div>對於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()

函數:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>mysqli_reap_async_connections($mysqli); // Repeat the reaping every 60 seconds sleep(60);</pre><div class="contentsignin">登入後複製</div></div>對於 PDO,可以使用以下程式碼:

$conn->close();

// Repeat the closing every 60 seconds
sleep(60);
登入後複製

以上是PHP 資料庫連線監控:追蹤連線使用與效能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板