快速增加MYSQL數(shù)據(jù)庫(kù)連接數(shù)負(fù)載能力的方法分享
第一先限制Innodb的并發(fā)處理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看機(jī)器壓力,如果
非常大,先改成16讓機(jī)器的壓力下來(lái),然后慢慢增達(dá),適應(yīng)自已的業(yè)務(wù).
處理方法: set global innodb_thread_concurrency=16;
方法一: (window系統(tǒng)中可直接修改my.ini文件)
進(jìn)入MYSQL安裝目錄 打開(kāi)MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改為 max_connections=1000 服務(wù)里重起MYSQL即可
方法二: (在mysql命令模式下)
對(duì)于連接數(shù)已經(jīng)超過(guò)600或是更多的情況,可以考慮適當(dāng)?shù)南拗埔幌逻B接數(shù),讓前端報(bào)一下錯(cuò),也別讓DB掛了.
DB在了,總是可以用來(lái)加載一下數(shù)據(jù),當(dāng)數(shù)據(jù)加載到了nosql里了,慢慢的DB壓力也會(huì)降下來(lái)的.
限制單用戶連接數(shù)在500以下. 如:
set global max_user_connections=500;
(MySQL隨著連接數(shù)的增加性能會(huì)是下降的,這也是thread_pool出現(xiàn)的原因)
另外對(duì)于有的監(jiān)控程序會(huì)讀取information_schema下面的表的程序可以考慮關(guān)閉下面的參數(shù)
innodb_stats_on_metadata=0
set global innodb_stats_on_metadata=0;
方法
MySQL的最大連接數(shù)默認(rèn)是100客戶端登錄:mysql -uusername -ppassword
設(shè)置新的最大連接數(shù)為200:mysql> set GLOBAL max_connections=200
顯示當(dāng)前運(yùn)行的Query:mysql> show processlist
顯示當(dāng)前狀態(tài):mysql> show status
退出客戶端:mysql> exit
查看當(dāng)前最大連接數(shù):mysqladmin -uusername -ppassword variables
這個(gè)參數(shù)主要防止對(duì)讀取information_schema時(shí)造成大量讀取磁盤(pán)進(jìn)行信息統(tǒng)計(jì)(如果慢查詢中出現(xiàn)關(guān)于information_schema中表時(shí),也可以考慮禁用該參數(shù))
處理依據(jù):
當(dāng)學(xué)校的一個(gè)食堂一分鐘只能為兩個(gè)打飯, 忽然來(lái)了100個(gè)時(shí)人來(lái)打飯,又沒(méi)排隊(duì), 不出會(huì)現(xiàn)了打飯的師傅要用點(diǎn)時(shí)間
去選擇為那個(gè)用戶服務(wù)了, 人越多,場(chǎng)面就越亂, 難免出現(xiàn)用戶大吼該他的場(chǎng)面, 最后有可能就出現(xiàn)不是打飯了,而時(shí)之間相互
打架了,打飯的師傅也將收到同時(shí)有90個(gè)以上的Server too busy. 如果能排一下隊(duì).最多也就50分鐘能處理完了
方法三: (linux中得新編譯mysql)
以centos 4.4 下面的mysql 5.0.33 手工編譯版本為例說(shuō)明:
vi /usr/local/mysql/bin/mysqld_safe
找到safe_mysqld編輯它,找到mysqld啟動(dòng)的那兩行,在后面加上參數(shù):
-O max_connections=1500
具體一點(diǎn)就是下面的位置:
用紅字特別說(shuō)明:
then $NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking
-O max_connections=1500
>> $err_log 2>&1 else
eval "$NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking $args
-O max_connections=1500 >>
$err_log 2>&1"
保存。
# service mysqld restart
# /usr/local/mysql/bin/mysqladmin -uroot -p variables
輸入root數(shù)據(jù)庫(kù)賬號(hào)的密碼后可看到
max_connections 1500 即新改動(dòng)已經(jīng)生效。
- 詳解Mysql雙機(jī)熱備和負(fù)載均衡的實(shí)現(xiàn)步驟
- 利用MySQL系統(tǒng)數(shù)據(jù)庫(kù)做性能負(fù)載診斷的方法
- MySQL如何實(shí)現(xiàn)負(fù)載均衡功能
- 如何使用nginx充當(dāng)mysql的負(fù)載均衡器
- 在OneProxy的基礎(chǔ)上實(shí)行MySQL讀寫(xiě)分離與負(fù)載均衡
- 基于mysql+mycat搭建穩(wěn)定高可用集群負(fù)載均衡主備復(fù)制讀寫(xiě)分離操作
- python實(shí)現(xiàn)mysql的讀寫(xiě)分離及負(fù)載均衡
- Keepalived+HAProxy實(shí)現(xiàn)MySQL高可用負(fù)載均衡的配置
- 分析MySQL中索引引引發(fā)的CPU負(fù)載飆升的問(wèn)題
- 具有負(fù)載均衡功能的MySQL服務(wù)器集群部署及實(shí)現(xiàn)
- mysql CPU高負(fù)載問(wèn)題排查
相關(guān)文章
windows下mysql 5.7.20 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了windows下mysql 5.7.20 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09MySQL中隨機(jī)生成固定長(zhǎng)度字符串的方法
在MySQL中有時(shí)需要隨機(jī)生成數(shù)字或字符串,隨機(jī)生產(chǎn)數(shù)字可直接使用rand()函數(shù),但是要隨機(jī)生成字符串就比較麻煩。2010-12-12Mysql、Oracle中常用的多表修改語(yǔ)句總結(jié)
這篇文章主要給大家介紹了關(guān)于Mysql、Oracle中常用的多表修改語(yǔ)句的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12mysql insert 存在即不插入語(yǔ)法說(shuō)明
這篇文章主要介紹了mysql insert 存在即不插入語(yǔ)法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03