欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2023年04月12日 10:10:35   作者:笨蛋girl  
這篇文章主要介紹了SQL數(shù)據(jù)庫(kù)連接超時(shí)時(shí)間已到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SQL Server中的事務(wù)介紹

    SQL Server中的事務(wù)介紹

    這篇文章介紹了SQL Server中的事務(wù)用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 安裝sql server2008后再安裝sql 2005找不到本地服務(wù)器的解決方法

    安裝sql server2008后再安裝sql 2005找不到本地服務(wù)器的解決方法

    這篇文章主要介紹了安裝sql server2008后再安裝sql 2005找不到本地服務(wù)器的解決方法,需要的朋友可以參考下
    2015-01-01
  • PL/SQL DEVELOPER 使用的一些技巧

    PL/SQL DEVELOPER 使用的一些技巧

    了解一點(diǎn)編程的常識(shí)的人都知道,編碼風(fēng)格很重要。在閱讀代碼方面,保持一致的編碼風(fēng)格,閱讀起來(lái)比較容易;大家都應(yīng)該養(yǎng)成一種自己的編碼習(xí)慣,并保持下去。
    2013-04-04
  • SQL Substring提取部分字符串

    SQL Substring提取部分字符串

    SQL 中的 substring 函數(shù)是用來(lái)抓出一個(gè)欄位資料中的其中一部分。這個(gè)函數(shù)的名稱在不同的資料庫(kù)中不完全一樣
    2009-11-11
  • 教你如何看懂SQL Server查詢計(jì)劃

    教你如何看懂SQL Server查詢計(jì)劃

    本文只談優(yōu)化查詢時(shí)如何看懂SQL Server查詢計(jì)劃。畢竟我對(duì)SQL Server的認(rèn)識(shí)有限,如有錯(cuò)誤,也懇請(qǐng)您在發(fā)現(xiàn)后及時(shí)批評(píng)指正。 當(dāng)然如果能對(duì)大家有所幫助,也不枉我寫這么多文字了
    2014-08-08
  • SQLite數(shù)據(jù)庫(kù)管理相關(guān)命令的使用介紹

    SQLite數(shù)據(jù)庫(kù)管理相關(guān)命令的使用介紹

    本篇文章小編為大家介紹,SQLite數(shù)據(jù)庫(kù)管理相關(guān)命令的使用說(shuō)明。需要的朋友參考下
    2013-04-04
  • SQL SERVER性能優(yōu)化綜述(很好的總結(jié),不要錯(cuò)過(guò)哦)

    SQL SERVER性能優(yōu)化綜述(很好的總結(jié),不要錯(cuò)過(guò)哦)

    一個(gè)系統(tǒng)的性能的提高,不單單是試運(yùn)行或者維護(hù)階段的性能調(diào)優(yōu)的任務(wù),也不單單是開(kāi)發(fā)階段的事情,而是在整個(gè)軟件生命周期都需要注意,進(jìn)行有效工作才能達(dá)到的。所以我希望按照軟件生命周期的不同階段來(lái)總結(jié)數(shù)據(jù)庫(kù)性能優(yōu)化相關(guān)的注意事項(xiàng)。
    2008-09-09
  • SQL Server數(shù)據(jù)庫(kù)自動(dòng)備份的實(shí)現(xiàn)步驟

    SQL Server數(shù)據(jù)庫(kù)自動(dòng)備份的實(shí)現(xiàn)步驟

    要編寫一個(gè)自動(dòng)備份 SQL Server 數(shù)據(jù)庫(kù)的腳本,可以使用 SQL Server Management Studio (SSMS) 或者 Transact-SQL (T-SQL) 腳本,本文給大家介紹了一個(gè)一個(gè)簡(jiǎn)單的 T-SQL 腳本示例,需要的朋友可以參考下
    2023-11-11
  • SQL多列合并成一列的實(shí)現(xiàn)示例

    SQL多列合并成一列的實(shí)現(xiàn)示例

    在SQL中,拼接多個(gè)列數(shù)據(jù)成為一列數(shù)據(jù)是很常見(jiàn)的問(wèn)題,本文主要介紹了SQL多列合并成一列的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 利用ROW_NUMBER() OVER函數(shù)給SQL數(shù)據(jù)庫(kù)中每一條記錄分配行號(hào)的方法

    利用ROW_NUMBER() OVER函數(shù)給SQL數(shù)據(jù)庫(kù)中每一條記錄分配行號(hào)的方法

    這篇文章主要介紹了利用ROW_NUMBER() OVER函數(shù)給SQL數(shù)據(jù)庫(kù)中每一條記錄分配行號(hào)的方法,需要的朋友可以參考下
    2015-10-10

最新評(píng)論