長連線是什麼含義?PDO支援長連線嗎?
- 長連線是指新建立的連線能夠在多次請求之間複用,與之相對的是短連線,短連線在每次請求時建立連結,請求結束後都會釋放連結。
- PDO預設是短連線,要想使用長連線,可以在建立時如下設定options:
$pdo = new PDO($dsn, $username, $passwd, [PDO::ATTR_PERSISTENT => true]);
- 長連線測試
- 方法1:請求結束後透過mysql客戶端執行
show full processlist
- 方法2:檢視mysql general_log
- 方法3:檢視伺服器上mysql埠的連結;mac上面可以執行
lsof -i :3306
檢視
- 方法1:請求結束後透過mysql客戶端執行
- 長連線測試
長連線 vs 短連線
- 長連線能夠複用連線資源,減少響應時間,但是要考慮最大連結數的限制(php-fpm工作模式下連線數=worker程式書數)
- 短連線響應時間慢,但資源會及時釋放
questions?
- PDO可以設定最大連線數嗎?可以設定連結的最大空閒時間嗎?
- PDO vs 連線池
本作品採用《CC 協議》,轉載必須註明作者和本文連結