連線完成後,如果你沒有後續的動作,這個連線就處於空閒狀態,你可以在 show processlist 命令中看到它的 command 列顯示為「sleep」的這一行,客戶端如果太長時間沒動靜,聯結器就會自動將它斷開。這個時間是由引數 wait_timeout 控制的,預設值是 8 小時。
長連線:指連線成功後,如果客戶端持續有請求,則一直使用同乙個連線。
優勢減少建立連線的動作,因為建立連線是會消耗資源的
劣勢連線斷開才會釋放資源,全部使用長連線後,可能會發現有些時候 mysql 占用記憶體漲得特別快,這是因為 mysql 在執行過程中臨時使用的記憶體是管理在連線物件裡面的。這些資源會在連線斷開的時候才釋放。所以如果長連線累積下來,可能導致記憶體占用太大,被系統強行殺掉(oom),從現象看就是 mysql 異常重啟了。
如何解決長連線的劣勢
1、定期斷開長連線。通過判斷連線占用的記憶體量的大小,達到閥值後,斷開連線
2、在每次執行乙個比較大的操作後執行 mysql_reset_connection 來重新初始化連線資源,這個過程不需要重連和重新做許可權驗證,但是會將連線恢復到剛剛建立完時的狀態。
短連線:指每次執行完很少的幾次查詢就斷開連線,下次查詢再重新建立乙個。
長連線 短連線
長連線在web中的運用 如果沒有客戶端大量的訪問,可以採用html5的serversocket長連線 例如hudson 執行時會實時的返回當前執行的結果 vmstat 監控 b 長連線 資料庫連線 短連線 http連線 b b 一 長連線與短連線 b 長連線 client方與server方先建立連線...
長連線 短連線
http協議的長連線和短連線,實質上是tcp協議的長連線和短連線。http屬於應用層協議,在傳輸層使用tcp協議,在網路層使用ip協議。ip協議主要解決網路路由和定址問題,tcp協議主要解決如何在ip層之上可靠的傳遞資料報。http是乙個無狀態的面向連線的協議,無狀態不代表http不能保持tcp連線...
長連線 短連線
參考鏈結 怎麼理解tcp的面向連線和udp的無連線 不面向連線 長連線的幾種實現方式 關於長連線和短連線的理解及使用場景 連線其實只是雙方都維護了乙個狀態,通過每一次通訊來維護狀態的變更 在 http 1.0 中 在 http 1.1 中則 可以在一次連線中處理多個請求,並且多個請求可以重疊進行,不...