国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

SQL數據庫連接超時時間已到的問題

瀏覽:190日期:2023-05-02 10:03:28
目錄
  • SQL數據庫連接超時時間已到
    • 問題
    • 解決方法
  • 數據庫訪問超時時間配置總結
    • 1.背景
    • 2.配置說明
    • 3.方案
  • 總結

    SQL數據庫連接超時時間已到

    問題

    1:System.InvalidOperationException: 超時時間已到。超時時間已到,但是尚未從池中獲取連接。出現這種情況可能是因為所有池連接均在使用,并且達到了最大池大小。

    2:在向服務器發送請求時發生傳輸級錯誤。 (provider: TCP Provider, error: 0 - 由于系統緩沖區空間不足或隊列已滿,不能執行套接字上的操作。)

    3:已成功與服務器建立連接,但是在登錄前的握手期間發生錯誤。 (provider: SSL Provider, error: 0 - 等待的操作過時。) ---> System.ComponentModel.Win32Exception (0x80004005): 等待的操作過時。

    4:在從服務器接收結果時發生傳輸級錯誤。 (provider: TCP Provider, error: 0 - 指定的網絡名不再可用。) ---> System.ComponentModel.Win32Exception (0x80004005): 指定的網絡名不再可用。

    5:連接超時時間已到。在登錄后階段超過了此超時時間。連接可能在等待服務器完成登錄過程并響應時超時;或者在嘗試創建多個活動連接時超時。 嘗試連接到此服務器時花費的持續時間是 - [Pre-Login] initialization=2;handshake=5;[Login] initialization=0;authentication=0;[Post-Login] complete=14025; ---> System.ComponentModel.Win32Exception (0x80004005): 等待的操作過時。

    解決方法

    設置最大超時時間

    server=192.168.0.1;User ID=sa;Password=123;database=;Min Pool Size=0;Max Pool Size=30000;Pooling=true;

    一般這種出現于高并發請求的情況,以下代碼可以查看SQL的連接數,這個可以作為監測的一種手段。

    SELECT [program_name] ,[spid],* FROM [sys].[sysprocesses] WHERE [spid]>50 ?and [program_name]=".Net SqlClient Data Provider" and dbid= db_id("")?

    數據庫訪問超時時間配置總結

    1.背景

    訪問數據庫超時間太長,訪問數據量大或者掃描的數據量太大,導致數據庫長時間無響應。鏈接被占用無法釋放,會導致線程池被占滿。

    因此,為了能夠及時釋放占用鏈接,其他業務對數據庫訪問不受影響,所以要合理設置數據庫訪問超時時間。

    2.配置說明

    2.1connectionTimeout配置大小

    Jdbc的connectTimeout配置是指等待與數據庫建立socket鏈接的超時時間。如果未設置,默認為0,代表永不超時。

    代碼中checkoutTimeout的配置設置為1000s,表示連接池中連接獲取鏈接超時時間,設置過大會導致接口響應變慢。

    參考收單側的經驗值,connectTimeout設置為1000ms。

    2.2socketTimeout配置大小

    socketTimeout的配置是指客戶端與數據庫建立socket后,讀寫socket時的等待的超時時間。如果未設置,默認為0,代表永不超時。zebra默認的socketTimeout設置為60s。

    根據對服務數據庫訪問統計發現最長為1-2s,socketTimeout可設置為3s

    3.方案

    3.1數據庫SDK配置修改

    連接池連接超時等設定需要設置到extraJdbcUrlParams參數中如下:

    <property name="extraJdbcUrlParams" value="connectTimeout=1000&amp;socketTimeout=3000&amp;useSSL=false"/>

    jdbcdriver 5.1.36及以上版本需要在jdbcurl設置 "useSSL=false" 參數, 可以通過此方式設置

    3.2 默認SDK配置修改

    修改jdbcRef配置

    3.3最終方案

    優點

    不足

    結果

    Db-client-SDK

    服務代碼中,可自由配置

    比配置jdbcRef優先級高,dba也推薦

    需要發布服務

    RDS-Zebra

    不需要發布服務

    rd沒有權限,需要dba給配置

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: MsSQL
    相關文章:
    主站蜘蛛池模板: 国产成人v视频在线观看 | 成人亚洲欧美日韩在线 | 久操免费在线 | 日韩精品一区二区三区在线观看l | 日本三级香港三级妇三 | 亚洲在线偷拍自拍 | 一区二区3区免费视频 | 久草在线视频免费资源观看 | 亚洲欧美一区二区三区久本道 | 免费看久久 | 一区二区三区视频在线观看 | 91成人免费观看网站 | 国产精品欧美韩国日本久久 | 国产精品国内免费一区二区三区 | 91热国内精品永久免费观看 | 久久草在线视频 | 一级特色大黄美女播放网站 | 久久久亚洲欧美综合 | 性做爰片免费视频毛片中文i | 精品国产一区二区三区久 | 女人张开双腿让男人桶完整 | 国产综合久久 | 亚洲国产精品久久久久久 | 97免费公开视频 | 免费人成在观看 | 国产精品三级a三级三级午夜 | 日韩国产在线播放 | 全部在线美女网站免费观看 | 在线成人天天鲁夜啪视频 | 亚洲欧美日韩国产精品影院 | 亚洲激情 欧美 | 欧美一区高清 | 一级毛片免费不卡夜夜欢 | 国产老鸭窝毛片一区二区 | 欧美日韩一区二区三区在线 | 欧美极度极度另类 | 综合中文字幕 | 日本人在线看片 | 久久99久久精品视频 | 欧美va在线播放免费观看 | 中日韩一区二区三区 |