MySQL應對網路抖動問題

2021-09-21 15:42:46 字數 855 閱讀 7435

預設情況下,mysql本身通過各種timeout引數來斷開鏈結。

對timeout的各種解釋:

connect_timeout 在建立連線時起作用,對於使用連線池的情況或者網路較差的情況建議將該值增大.interactive_timeout和wait_timeout 互動式與非互動的鏈結 主要適用於連線空閒階段。net_read_timeout和net_write_timeout主要是connection 在 read 或write時 繁忙階段的超時。

具體例項:

1、can't connect to mysql server 。。。。。

lost connection to mysql server at 'reading authorization packet', system error: 0

在進行連線握手階段可能因為網路抖動導致連線失敗,增加connect_timeout可以解決這個問題。這個會引擎mysql執行緒占用問題,如果可以的話在不增加timeout的時候,適當的重新連線。

2、lost connection to mysql server at 『reading initial communication packet』:

tcp多次握手建立連線後,對使用者名稱和密碼檢查完畢後,還有ip->host->dns->ip驗證,任何一步都可能因為網路問題導致執行緒阻塞。這個主要是因為dns不穩定導致的。如果可以的話在配置檔案中新增"skip-name-resolve",減少網域名稱解析的時間。

3、lost connection to mysql server during query

這個就比較隨機啦。可能是由於net_read_timeout和net_write_timeout 引起或者其他。

參考文章:

mfc螢幕抖動問題

cdc memdc 首先定義乙個顯示裝置物件 cbitmap membitmap 定義乙個位圖物件 隨後建立與螢幕顯示相容的記憶體顯示裝置 memdc.createcompatibledc null 這時還不能繪圖,因為沒有地方畫 下面建立乙個與螢幕顯示相容的點陣圖,至於點陣圖的大小嘛,可以用視窗的...

遮蔽介面抖動問題

1,狀態列抖動的問題大多是介面跳轉時動畫導致的,所以我們只需要遮蔽系統設定中開發者選項中的繪圖中動畫特效就可以了 需要用到 public class developeranimationmanager private iwindowmanager getiwindowmanager system.o...

Tips 避免cache中的抖動問題

直接對映快取記憶體中的衝突不命中 confict miss 衝突不命中在程式中很常見,會導致令人疑惑的問題。當訪問大小為2的冪的陣列時,直接對映高速緩衝中通常會發生衝突不命中。考慮以下計算兩個向量點積的函式 float dotdrop float x 8 float y 8 return sum 假...