亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

淺析mysql交互式連接&非交互式連接

2024-07-24 13:08:59
字體:
來源:轉載
供稿:網友
下面小編就為大家帶來一篇淺析mysql交互式連接&非交互式連接。小編覺挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
 

交互式操作:通俗的說,就是你在你的本機上打開mysql的客戶端,就是那個黑窗口,在黑窗口下進行各種sql操作,當然走的肯定是tcp協議。

非交互式操作:就是你在你的項目中進行程序調用。比如一邊是tomcat web服務器,一邊是數據庫服務器,兩者怎么通信?在java web里,我們通常會選擇hibernate或者是jdbc來連接。那么這時候就是非交互式操作。 

在之前,我基本上不關系這兩個屬性,都是用的是mysql服務商推薦的默認值,就是8小時。

但是,從昨天開始,由于在新網租用了一個空間,而他的mysql的wait_time設置了10s,所以引出來一系列的問題,就順便來研究下。

或者這個標題可以改為“mysql的8小時自動關閉”問題,這個標題你到百度上搜搜,一搜一大堆,但是都沒有講明白,今天我就給大家來說說這兩個值。

一、概念

1)interactive_time:是指如果空余Ns(N就是這個屬性的值),那么就會自動關閉mysql的連接。關閉什么樣的mysql連接?在之前,我們在《什么是mysql的交互式操作和非交互式操作?》 這篇文章中講到,mysql是有兩種操作方式,那就有兩種連接的,一種是交互式,一種是非交互式。而這個屬性控制的是交互式。就是你打開一個mysql客 戶端黑窗口,進入操作之后,又隔了Ns你不操作了,之后你想繼續操作,對不起,mysql會在之前關閉了你的那個連接,mysql會幫你自動重新連接。

2)wait_time:是指如果空余Ns(N就是這個屬性的值),那么會自動kill掉mysql的一部分連接線程。這里的連接就是指的是非交互式連接。

總結下,就是用比較正規的術語講:

(1)interactive_timeout:

參數含義:服務器關閉交互式連接前等待活動的秒數。交互式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的客戶端。

參數默認值:28800秒(8小時)

(2)wait_timeout:

參數含義:服務器關閉非交互連接之前等待活動的秒數。

在線程啟動時,根據全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,取決于客戶端類型(由mysql_real_connect()的連接選項CLIENT_INTERACTIVE定義)。

參數默認值:28800秒(8小時)

這里有引出了另外一個概念:mysql_real_connect(),這個好理解,就是你不管什么連接,是交互式還是非交互式,你要操作mysql之前要必須執行完畢的方法,其實你可以理解成登錄mysql,或者拿到mysql的一個連接。

二、如何查看、重新設置這兩個值

mysql,交互式連接

這是我修改之后的。這是查看方法。

修改這兩個值是分為兩種修改的。

1) 修改當前會話的這兩個屬性值。所謂的當前會話就是你當前獲取的連接池的連接。比如你打開黑窗口那個會話。這個修改比較簡單,直接set wait_timeout=10;就行了,你怎么知道這么修改僅僅修改的是當前會話?很簡單,你把這個黑窗口關了,你再重新開一個,再重新查,你發現沒改 啊。

2)修改全局的屬性值。一般這個用的多,你到你的數據庫安裝包下找到my.ini,在最下面添加wait_timeout=10就可以了,然后重新啟動mysql服務,我說的重新啟動服務,不是你關閉這個黑窗口,重新啟動一個黑窗口。服務在我的電腦右鍵服務里去找。

現在先說到這里,一會繼續。 

一、mysql8小時異常 

1)異常概念。

大 家都知道mysql的8小時自動斷開異常吧,百度上一大把。就是由于這個值造成的,這個值mysql默認的是8小時,所以如果你在8小時內,數據庫覺得沒 有任何人來連接我,那好,我就將所有的現在存在的非交互式連接全部kill掉。而ssh中,我們一般用的是數據池。就是在tomcat已啟動的時候,就向 mysql申請到N(這個N是你配置的)個非交互是連接,以后想要用數據庫連接的時候,沒有必要一個請求就去重新獲取mysql連接,只要從數據池里獲取 就可以了。但是現在如果你8小時之內,沒有發送請求,那么mysql會自動將所有的非交互是連接kill掉,那這時候,你的數據庫連接池里存在的數據庫連 接其實是null,是不存在的,你這時候也不判斷,繼續想用這個鏈接去請求數據,當然會拋出異常,所拋出的異常Communications link failure due to underlying exception。 

2)那么如何解決呢?

原 理很簡單,出現這個異常的原因不就是因為連接池里存在著已經不存在的連接,而且你還不知道,你還得用這個原本就被關閉的連接去請求嗎?這就好辦了,你控制 了不了服務器的mysql(如果你是空間的話),那你知道控制自己的數據庫連接池了,讓連接池增加一個驗證功能,就是凡是在從池里拿到連接之后,在用之前 先驗證下這個鏈接是否有效,如果有效則可以直接使用,如果無效則重新申請一個連接,這樣就不會出現這個異常了。當然,肯定性能會降低。關于性能為什么降 低,我們稍后會講,現在來看,如何實現讓數據庫連接池先驗證是否有效再用的功能:

我用的連接池是c3p0,建議使用這個。當然各個連接池的性能優缺點你得根據自己的項目具體分析,這里可不分析我為什么選c3p0了。

<property name="testConnectionOnCheckin" value="true"/>//歸還給連接池時候要檢查<property name="testConnectionOnCheckout" value="true"/>//從連接池中拿出來要檢查  <!--因性能消耗大請只在需要的時候使用它。如果設為true那么在每個connection提交的時候都將校驗其有效性。建議使用idleConnectionTestPeriod或automaticTestTable等方法來提升連接測試的性能。Default: false --><property name="testConnectionOnCheckout">false</property>  <!--如果設為true那么在取得連接的同時將校驗連接的有效性。Default: false --><property name="testConnectionOnCheckin">true</property> 

所以也就是通過兩個動作去維護這個連接池,如圖:

3)解決方案的性能問題

A)檢測有效性的性能優化

因為要去時刻檢查這個鏈接是否還有效,所以效率比如會降低,那么如何檢查呢?默認的檢查方式我現在還真不知道,但是上面一段話說了,如果使用 automaticTestTable 方法進行驗證測試連接的有效性,會對性能有所提升。那我們就來看下這個屬性

1 <property name="automaticTestTable" value="C3P0TestTable"/>

這 個屬性是什么意思呢?就是他會自動的幫你建立一張名字叫C3P0TestTable的表,這種表非常的簡單,而且最關鍵的是里面沒有數據,檢測的時候,可 以通過連接訪問這種表是否能訪問的到,如果能訪問的到,說明這個鏈接是有效的,否則說明這個鏈接已經被mysql kill掉了。

那這張表是我們程序員建立的嗎?NO,你不用管,你只要這么配置上,自然會幫你自動建立一張這個表的。

B)testConnectionOnCheckout 性能的優化。因為這個屬性是指你從連接池中拿出來的時候,在每一個鏈接去真正提交,震中拿著這個鏈接去數據庫訪問的時候,要做下檢查,并不是說,我從連接 池中拿出來,我就做檢查,我得等到提交的時候才做檢查的,那這樣會設計到一個connection提交的問題,在默認的情況下,你發送一個db request就會自動馬上去執行,就會馬上commit的,如果你配置在事務當中呢,就是一個action方法對應一個biz方法,這樣你只要做一次檢 查就行了,減少了檢測的次數。

也就是說,對于這種解決方案的性能優化的宗旨就是減少檢測次數、優化檢測方法。

二、mysql的wait_timeout值應該設置多少?

如果你不是IDC,你不是往外出租服務器,那么你完全可以設置為默認值8小時就可以了。但是如果IDC往外租用服務器的時候,就得重新設置了,比如新網就是設置為10s的。

但 是這個設置為多大,并不是新網那樣隨便設置的,因為我發現新網的這個服務器業務壓力并不是很大,但是他卻設置了一個10s這么小的值,這樣反而會更消耗服 務器資源。是,得承認,如果這個值過大的話,很可能會造成大量的無用的閑置的連接存在,對數據庫壓力過大,但是新網的那個服務器的業務壓力并不大啊,你設 置成這么小的數值,很明顯,你是在刻意的增加系統服務器的業務壓力啊,罪人啊罪人。

所以,設置為多大,得根據你的服務器的壓力大小來配置的,可不是隨便寫一個數就行了的。

以上這篇淺析mysql交互式連接&非交互式連接就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品影视伊人网| 美日韩精品视频免费看| 国产日韩中文字幕在线| 欧美性资源免费| 疯狂蹂躏欧美一区二区精品| 九九精品视频在线| 日韩视频一区在线| 亚洲精品免费一区二区三区| 丰满岳妇乱一区二区三区| 日韩精品在线看| 欧美在线视频一区| 日本一区二区在线免费播放| 自拍视频国产精品| 中文字幕不卡在线视频极品| 成人精品aaaa网站| 久热在线中文字幕色999舞| 日韩动漫免费观看电视剧高清| 精品亚洲va在线va天堂资源站| 91久久久久久久久久久久久| 日韩av一区在线| 国产精品久久激情| 亚洲曰本av电影| 色偷偷av一区二区三区乱| 国产午夜精品视频免费不卡69堂| 国产亚洲欧美一区| 国产亚洲激情视频在线| 欧美精品一区二区免费| 最近2019年中文视频免费在线观看| 欧美大尺度电影在线观看| 精品一区二区亚洲| 国产精品视频99| 国产主播欧美精品| 欧美在线观看www| 久久天天躁夜夜躁狠狠躁2022| 欧美激情在线狂野欧美精品| 庆余年2免费日韩剧观看大牛| 久久久久中文字幕| 亚洲精品动漫久久久久| 亚洲综合第一页| 一区二区三区精品99久久| 国产成人精品一区二区在线| 亚洲男人天堂九九视频| 国产亚洲欧美日韩美女| 亚洲精品二三区| 色综合导航网站| 久久这里有精品视频| 91情侣偷在线精品国产| 国产精品久久二区| 成人写真福利网| 91干在线观看| xvideos亚洲人网站| 日韩高清人体午夜| 日韩黄色高清视频| 岛国av一区二区三区| 亚洲精品网址在线观看| 中文字幕综合在线| 亚洲欧美日本精品| 日韩av网站导航| 欧美性高潮床叫视频| 国产一区二区三区久久精品| 亚洲视频在线观看视频| 91久久久久久久久久久| 国产精品99蜜臀久久不卡二区| 日本在线精品视频| 国产mv久久久| 久久精品成人欧美大片古装| 日本免费在线精品| 久久亚洲电影天堂| 久久久成人精品视频| 日韩久久精品电影| 亚洲国产精品va在线看黑人动漫| 国产欧美在线播放| 国内精品久久久久伊人av| 久色乳综合思思在线视频| 国产午夜精品麻豆| 国精产品一区一区三区有限在线| 国产精品久久久久久久久久尿| 国产97色在线|日韩| 日韩专区在线播放| 国产精品欧美日韩久久| 国内免费久久久久久久久久久| 成人美女av在线直播| 亚洲free嫩bbb| 性色av一区二区三区免费| 国产精品久久久久久久9999| 亚洲va男人天堂| 欧美激情亚洲综合一区| 性欧美亚洲xxxx乳在线观看| 国产日韩在线视频| 欧美天天综合色影久久精品| 日产日韩在线亚洲欧美| 国产欧美一区二区白浆黑人| 日本最新高清不卡中文字幕| 91色在线观看| 久久久久久中文| 久久久久久久久爱| 日韩一中文字幕| 国产欧美日韩视频| 日韩欧美主播在线| 午夜精品久久17c| 亚洲第一色中文字幕| 欧美激情一区二区三区成人| 午夜精品一区二区三区av| 另类美女黄大片| 欧美激情中文字幕在线| 中文字幕一精品亚洲无线一区| 久久大大胆人体| 欧美黑人性猛交| 78色国产精品| 岛国av一区二区三区| 亚洲国产精品人久久电影| 美日韩精品视频免费看| 欧美成人精品在线| 国产成人高潮免费观看精品| 欧美另类xxx| 国产视频久久久久| 欧美视频不卡中文| 久久综合电影一区| 精品国产视频在线| 亚洲精品欧美日韩| 欧美性xxxxx| 亚洲福利视频二区| 国产精品第七十二页| 亚洲理论片在线观看| 国产精品美乳一区二区免费| 欧美日韩在线看| 亚洲嫩模很污视频| 国语自产精品视频在免费| 亚洲区中文字幕| 国产一区二区三区毛片| 亚洲第一视频在线观看| 日韩av黄色在线观看| 久久国产精品久久久| 国产精品久久久久久超碰| 亚洲欧美日韩一区二区三区在线| 久久久久久亚洲精品不卡| 亚洲成人在线网| 日韩高清中文字幕| 国产精品免费福利| 一区二区中文字幕| 日韩欧美中文第一页| 亚洲97在线观看| 日韩在线观看免费网站| 91精品视频免费观看| 亚洲精品自在久久| 欧美一级淫片aaaaaaa视频| 亚洲精品综合精品自拍| 国产精品久久久一区| 国产一区二区三区毛片| 96精品视频在线| 亚洲欧洲国产一区| 欧美裸身视频免费观看| 亚洲免费高清视频| 国产大片精品免费永久看nba| 日本免费久久高清视频| 亚洲色图第一页| 国产精品夜间视频香蕉| 欧美视频免费在线观看| xxx欧美精品| 国产精品va在线播放| 日韩高清人体午夜| 欧美裸体xxxx极品少妇软件| 青草青草久热精品视频在线网站| 国产99久久精品一区二区 夜夜躁日日躁|