亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQL數(shù)據(jù)庫(kù)連接超時(shí)時(shí)間已到的問(wèn)題

瀏覽:218日期:2023-05-02 10:03:28
目錄
  • SQL數(shù)據(jù)庫(kù)連接超時(shí)時(shí)間已到
    • 問(wèn)題
    • 解決方法
  • 數(shù)據(jù)庫(kù)訪問(wèn)超時(shí)時(shí)間配置總結(jié)
    • 1.背景
    • 2.配置說(shuō)明
    • 3.方案
  • 總結(jié)

    SQL數(shù)據(jù)庫(kù)連接超時(shí)時(shí)間已到

    問(wèn)題

    1:System.InvalidOperationException: 超時(shí)時(shí)間已到。超時(shí)時(shí)間已到,但是尚未從池中獲取連接。出現(xiàn)這種情況可能是因?yàn)樗谐剡B接均在使用,并且達(dá)到了最大池大小。

    2:在向服務(wù)器發(fā)送請(qǐng)求時(shí)發(fā)生傳輸級(jí)錯(cuò)誤。 (provider: TCP Provider, error: 0 - 由于系統(tǒng)緩沖區(qū)空間不足或隊(duì)列已滿,不能執(zhí)行套接字上的操作。)

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

    4:在從服務(wù)器接收結(jié)果時(shí)發(fā)生傳輸級(jí)錯(cuò)誤。 (provider: TCP Provider, error: 0 - 指定的網(wǎng)絡(luò)名不再可用。) ---> System.ComponentModel.Win32Exception (0x80004005): 指定的網(wǎng)絡(luò)名不再可用。

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

    解決方法

    設(shè)置最大超時(shí)時(shí)間

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

    一般這種出現(xiàn)于高并發(fā)請(qǐng)求的情況,以下代碼可以查看SQL的連接數(shù),這個(gè)可以作為監(jiān)測(cè)的一種手段。

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

    數(shù)據(jù)庫(kù)訪問(wèn)超時(shí)時(shí)間配置總結(jié)

    1.背景

    訪問(wèn)數(shù)據(jù)庫(kù)超時(shí)間太長(zhǎng),訪問(wèn)數(shù)據(jù)量大或者掃描的數(shù)據(jù)量太大,導(dǎo)致數(shù)據(jù)庫(kù)長(zhǎng)時(shí)間無(wú)響應(yīng)。鏈接被占用無(wú)法釋放,會(huì)導(dǎo)致線程池被占滿。

    因此,為了能夠及時(shí)釋放占用鏈接,其他業(yè)務(wù)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)不受影響,所以要合理設(shè)置數(shù)據(jù)庫(kù)訪問(wèn)超時(shí)時(shí)間。

    2.配置說(shuō)明

    2.1connectionTimeout配置大小

    Jdbc的connectTimeout配置是指等待與數(shù)據(jù)庫(kù)建立socket鏈接的超時(shí)時(shí)間。如果未設(shè)置,默認(rèn)為0,代表永不超時(shí)。

    代碼中checkoutTimeout的配置設(shè)置為1000s,表示連接池中連接獲取鏈接超時(shí)時(shí)間,設(shè)置過(guò)大會(huì)導(dǎo)致接口響應(yīng)變慢。

    參考收單側(cè)的經(jīng)驗(yàn)值,connectTimeout設(shè)置為1000ms。

    2.2socketTimeout配置大小

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

    根據(jù)對(duì)服務(wù)數(shù)據(jù)庫(kù)訪問(wèn)統(tǒng)計(jì)發(fā)現(xiàn)最長(zhǎng)為1-2s,socketTimeout可設(shè)置為3s

    3.方案

    3.1數(shù)據(jù)庫(kù)SDK配置修改

    連接池連接超時(shí)等設(shè)定需要設(shè)置到extraJdbcUrlParams參數(shù)中如下:

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

    jdbcdriver 5.1.36及以上版本需要在jdbcurl設(shè)置 "useSSL=false" 參數(shù), 可以通過(guò)此方式設(shè)置

    3.2 默認(rèn)SDK配置修改

    修改jdbcRef配置

    3.3最終方案

    優(yōu)點(diǎn)

    不足

    結(jié)果

    Db-client-SDK

    服務(wù)代碼中,可自由配置

    比配置jdbcRef優(yōu)先級(jí)高,dba也推薦

    需要發(fā)布服務(wù)

    RDS-Zebra

    不需要發(fā)布服務(wù)

    rd沒(méi)有權(quán)限,需要dba給配置

    總結(jié)

    以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。

    標(biāo)簽: MsSQL
    相關(guān)文章:
    主站蜘蛛池模板: 午夜国产福利在线 | 国产三级福利 | 毛片网站大全 | 日本我不卡 | 亚洲精品一二三四区 | 一级特黄a大片免费 | 毛片不卡一区二区三区 | 成人福利短视频 | 最新国产美女一区二区三区 | 草草青青 | 国产a免费视频 | 免费看精品黄线在线观看 | 亚洲黄色免费 | 国产短视频精品一区二区三区 | 一级 黄 色 毛片 | 久夜色精品国产一区二区三区 | 日韩视频一区二区在线观看 | 国产精品v欧美精品v日韩精品 | 一区二区三区中文国产亚洲 | 精品国产精品国产 | 91在线精品麻豆欧美在线 | 国产免费观看网站黄页 | 久久香蕉国产线看观看99 | 看看免费a一片欧 | 国产成人a一区二区 | 亚洲国产福利 | 99精品在线免费 | 黄色a∨| 午夜视频一区 | 色婷婷精品视频 | 色综合天天综合高清影视 | 国产精品久久久久三级 | 韩国日本美国免费毛片 | 香蕉视频高清 | 麻豆入口视频在线观看 | 一区二区免费在线观看 | 亚洲第九十九页 | 91精品成人免费国产片 | 在线成h人视频网站免费观看 | 亚洲女同视频 | 亚洲精品午夜aaa级久久久久 |