国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MySQL連接數(shù)漲滿處理方法

IT那活兒 / 3690人閱讀
MySQL連接數(shù)漲滿處理方法

點(diǎn)擊上方“IT那活兒”,關(guān)注后了解更多精彩內(nèi)容!!


問題描述

注:MySQL版本8.0.16

mysql的連接數(shù)是有上限,如果到達(dá)上限就會(huì)報(bào)錯(cuò)。報(bào)錯(cuò)信息如下:

ERROR 1203 (42000): User vvv already has more than max_user_connections active connections

△上:?jiǎn)斡脩舻倪B接數(shù)到達(dá)max_user_connections的值。

ERROR 1040 (HY000): Too many connections

△上:所有用戶的連接總數(shù)到達(dá)max_connections的值。

△當(dāng)連接返回這些報(bào)錯(cuò)的時(shí)候意味著數(shù)據(jù)庫的連接數(shù)到達(dá)上限,新的連接請(qǐng)求是無法連接到數(shù)據(jù)庫的。

注意:在連接數(shù)漲滿之后,擁有all privileges權(quán)限的用戶是可以連接數(shù)據(jù)庫的。

解決方案

step1 首先查看mysql的max_connections,max_user_connections的值。

step2 可以看到Threads_connected的值已經(jīng)到達(dá)連接數(shù)的上限。Threads_running的值為4說明所有連接都不是空閑連接。

step3 可以查看該值與max_user_connections/max_connections的差,如果差越小說明,大多數(shù)連接都在等待獲取鎖。

接下來我們著手解決問題。

step4 調(diào)整連接數(shù)上限

△一個(gè)連接本身只會(huì)占用少量的內(nèi)存,關(guān)鍵還是看當(dāng)前數(shù)據(jù)庫的QPS/TPS是否接近壓力測(cè)試的值。如果QPS/TPS并不高可以選擇將連接數(shù)上限增大。

△如果thread_running的值與threads_connected相比非常的低說明大多數(shù)連接都是空閑連接,可以選擇將連接數(shù)上限增大。

set global max_connections=40;

set global max_user_connections=40;

△上:使用上面兩條命令將數(shù)據(jù)庫的連接數(shù)上限設(shè)置增大。

注意:如果數(shù)據(jù)庫發(fā)生重啟此次設(shè)置將會(huì)失效,要想永久生效需要在my.cnf文件當(dāng)中將值寫進(jìn)去。

step5 調(diào)整超時(shí)時(shí)間

a. 連接超時(shí)

如果thread_running的值與threads_connected相比非常的低說明大多數(shù)連接都是空閑連接,可以選擇將空閑連接的超時(shí)時(shí)間降低,快速釋放連接。

set global wait_timeout=10;

△上:將非交互模式的空閑連接超時(shí)時(shí)間設(shè)置為10秒。

b. 鎖等待超時(shí)

Innodb_row_lock_current_waits的值非常高可以說明有非常多的鎖等待。可以進(jìn)一步通過sys庫的innodb_lock_waits視圖來查看鎖等待時(shí)間,通過設(shè)置鎖等待超時(shí)將這些長(zhǎng)時(shí)間等待的連接釋放掉。

set global innodb_lock_wait_timeout=2;

△上:設(shè)置鎖等待超時(shí)為一個(gè)較短的時(shí)間來釋放連接數(shù)。

注意:如果數(shù)據(jù)庫發(fā)生重啟此次設(shè)置將會(huì)失效,要想永久生效需要在my.cnf文件當(dāng)中將值寫進(jìn)去。

step6 殺死線程

△如果thread_running的值非常高,代表當(dāng)前數(shù)據(jù)庫繁忙。如果出現(xiàn)連接數(shù)滿可以選擇將執(zhí)行時(shí)間長(zhǎng)的線程殺掉,來釋放連接。

pt-kill --busy-time 20 --host 192.168.56.11 --port 3306 --
user=pt_test --password=pt_test --interval 1 --print --kill

△上:這里推薦使用precona公司的pt-kill工具來進(jìn)行殺掉線程的工作。凡是執(zhí)行時(shí)間超過20秒的線程就會(huì)被殺掉。

pt-kill也可以用于殺死空閑連接以及針對(duì)特定的用戶線程來進(jìn)行查殺。


本 文 原 創(chuàng) 來 源:IT那活兒微信公眾號(hào)(上海新炬王翦團(tuán)隊(duì))


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/129712.html

相關(guān)文章

  • 2017 年底如何比較 Angular 4, React 16, Vue 2 的開發(fā)和運(yùn)行速度?

    摘要:作者鏈接來源知乎著作權(quán)歸作者所有。的富文本也需要注意一下,托管輸入什么的我搞不懂,反正知乎超級(jí)卡開發(fā)速度方面。會(huì)造成影響的變量相當(dāng)多。的社區(qū)最活躍工具最多,于是天秤座人士對(duì)社區(qū)表示強(qiáng)烈譴責(zé)。總覺得開發(fā)時(shí),編輯器的響應(yīng)速度更快也可能是錯(cuò)覺。 作者:Teeea鏈接:https://www.zhihu.com/questio...來源:知乎著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)...

    Miracle_lihb 評(píng)論0 收藏0
  • Java數(shù)據(jù)庫開發(fā)-Mysql連接

    摘要:是訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)規(guī)范。提供了一種基準(zhǔn)據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。代碼如下工具類數(shù)據(jù)庫驅(qū)動(dòng)注冊(cè)失敗提供獲取連接的方法獲得連接返回連接 本文為大家介紹 Java 如何使用JDBC 連接 MySQL 數(shù)據(jù)庫。 JDBC概述 JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java A...

    Ververica 評(píng)論0 收藏0
  • Java數(shù)據(jù)庫開發(fā)-Mysql連接

    摘要:是訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)規(guī)范。提供了一種基準(zhǔn)據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。代碼如下工具類數(shù)據(jù)庫驅(qū)動(dòng)注冊(cè)失敗提供獲取連接的方法獲得連接返回連接 本文為大家介紹 Java 如何使用JDBC 連接 MySQL 數(shù)據(jù)庫。 JDBC概述 JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java A...

    kun_jian 評(píng)論0 收藏0
  • mysql數(shù)據(jù)庫實(shí)現(xiàn)讀寫分離

    摘要:讀寫分離的實(shí)現(xiàn)方式使用的驅(qū)動(dòng)構(gòu)造不同的數(shù)據(jù)庫連接池,在層通過判斷方法的讀寫類型,讀方法使用從數(shù)據(jù)庫連接池,寫方法使用主數(shù)據(jù)庫連接池使用阿里的或的來實(shí)現(xiàn)分庫分表,讀寫分離和負(fù)載均衡等處理。 1.mysql讀寫分離背景 在項(xiàng)目中使用mysql數(shù)據(jù)庫,所有的增刪改查操作都在主庫處理,隨著查詢?cè)L問量的增加,單庫處理的壓力驟增,為了防止主庫故障,使用一主多從的方式,通過讀寫分離,把所有的查詢處理...

    edagarli 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<