1. 程式人生 > >PHP和mysql的長連接

PHP和mysql的長連接

多個 機制 關於 sql 根據 mysql擴展 官方 情況下 blog

關於 PHP MySQL 長連接、連接池的一些探索

PHP連接MySQL的方式,用的多的是mysql擴展、mysqli擴展、pdo_mysql擴展,是官方提供的。php的運行機制是頁面執行完會釋放所有該php進程中的所有資源的,如果有多個並發訪問本地的測試頁面 http://127.0.0.1/1.php 根據php跟web服務器的不同,會開相應的線程或者進程去處理該請求,請求完了會釋放結果的。也就是php無法從語言層面從頁面到頁面之間傳遞一些數據,但是mysql_pconnect跟pdo中的ATTR, 設置array(PDO::ATTR_PERSISTENT => true)如下是可以實現長連接的。

$conn = new PDO($dsn, DB_USER, DB_PASSWORD,
    array(PDO::ATTR_PERSISTENT => true)
);
長連接的作用我覺得是在高負載的情況下,通過復用長連接,減少了每個頁面的建立數據庫連接的時間,而這個建立mysql connection的時間,在我的機器上

在數據庫connnections < 10的情況下 , mysql pdo 建立connection time 為0.003ms, mysqli建立connection time為0.14ms
在數據庫connection接近滿的時候,mysql pdo建立connection time為0.13ms, mysqli建立connection time為0.13ms

PHP和mysql的長連接