亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數(shù)據(jù)庫(kù)CPU飆升到100%的詳細(xì)解決方案

 更新時(shí)間:2023年05月29日 10:40:05   作者:冰封酸辣粉  
在監(jiān)控線上數(shù)據(jù)庫(kù)的運(yùn)行是否安全、正常的過(guò)程中,cpu使用率是一個(gè)重要的指標(biāo),一旦cpu使用率飆升至90%+甚至達(dá)到100%,必然會(huì)對(duì)數(shù)據(jù)庫(kù)的正常工作產(chǎn)生影響,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)CPU飆升到100%的詳細(xì)解決方案,需要的朋友可以參考下

1、定位cpu問(wèn)題所在

當(dāng)cpu飆升到100%時(shí),先用操作系統(tǒng)命令top命令觀察是不是mysqld占用導(dǎo)致的,如果不是,找出占用高的進(jìn)程,并進(jìn)行相關(guān)處理。

2、查看慢查詢?nèi)罩?/h2>

進(jìn)入mysql命令行

mysql -h主機(jī)地址 -u用戶名 -p用戶密碼

查看慢查詢SQL是否啟用:ON是開(kāi)啟,OFF是關(guān)閉。

show variables like ‘log_slow_queries';

開(kāi)啟慢查詢?nèi)罩?/p>

set global log_slow_queries = on;

3、使用show processlist查看運(yùn)行線程

如果是mysqld造成的,show processlist顯示用戶正在運(yùn)行的線程,看看里面跑的session情況,是不是有消耗資源的sql在運(yùn)行【查看Time這一列最大值】。找出消耗高的sql,看看執(zhí)行計(jì)劃是否準(zhǔn)確,index是否缺失,或者是數(shù)據(jù)量太大造成。

show processlist

注意state字段中如果包含大量的Sending data、Wating for tabls、或者各種Lock、大概率是SQL造成數(shù)據(jù)庫(kù)擁堵。優(yōu)化對(duì)應(yīng)的SQL,開(kāi)啟慢查詢?nèi)罩?,分析sql語(yǔ)句進(jìn)行優(yōu)化。

一般來(lái)說(shuō),肯定要kill掉這些線程(同時(shí)觀察cpu使用率是否下降),等進(jìn)行相應(yīng)的調(diào)整(比如說(shuō)加索引、改sql、改內(nèi)存參數(shù))之后,再重新跑這些SQL。

也有可能是每個(gè)sql消耗資源并不多,但是突然之間,有大量的session連進(jìn)來(lái)導(dǎo)致cpu飆升,這種情況就需要跟應(yīng)用一起來(lái)分析為何連接數(shù)會(huì)激增,再做出相應(yīng)的調(diào)整,比如說(shuō)限制連接數(shù)等。

阻止濫用資源的程序: 當(dāng)網(wǎng)站受到攻擊時(shí),有可能在短時(shí)間內(nèi)建立異常高的連接數(shù)量。MySQL中的PROCESSLIST可用于檢測(cè)頂級(jí)用戶并阻止對(duì)濫用連接的訪問(wèn)。

4、大量的睡眠線程導(dǎo)致CPU過(guò)高

運(yùn)行show full processlist

【1】根據(jù)Command這一列發(fā)現(xiàn)大量的Sleep

【2】再根據(jù)Time這一列 查看當(dāng)前Sleep線程的sql所用的耗時(shí)

【3】根據(jù)sql睡眠線程耗時(shí)時(shí)間 配置msyql

【4】打開(kāi)mysql的配置文件my.cnf文件

配置如下:

vim /etc/my.cnf

[mysqld]
wait_timeout=20 ## 大于20秒自動(dòng)斷開(kāi) (根據(jù)實(shí)際情況設(shè)置)

配置完成后重啟Mysql,不重啟的話,可以設(shè)置全局的等待超時(shí)時(shí)間

mysql> set global wait_timeout=20;
mysql> show global variables like '%timeout';

5、合理優(yōu)化配置項(xiàng)

檢查一下MySQL設(shè)置,有助于確定內(nèi)存使用情況,從而為MySQL分配合適的值。緩存在InnoDB存儲(chǔ)的緩沖池中完成。緩沖池的大小對(duì)系統(tǒng)性能起著關(guān)鍵作用,并被指定為可用RAM的50%-70%之間的值。如果池大小,將導(dǎo)致頁(yè)面過(guò)度刷新,如果太大,將由于內(nèi)存競(jìng)爭(zhēng)而導(dǎo)致交換。

innodb_buffer_pool_size

max_connections為了在任何時(shí)刻為MySQL分配盡可能多的連接數(shù),并避免單個(gè)用戶使服務(wù)器過(guò)載,需要使用max_connections。每個(gè)線程使用RAM的一部分進(jìn)行緩沖區(qū)分配,因此它根據(jù)RAM的大小限制最大連接數(shù)。

max_connections = (Available RAM – Global Buffers) / Thread Buffers 最大連接數(shù) = (有效內(nèi)存 - 全局緩沖容量)/ 線程緩沖容量
當(dāng)不經(jīng)常更改且Web服務(wù)器接收許多相同查詢時(shí),查詢高速緩存可能會(huì)很有用。查詢緩存將SELECT語(yǔ)句的文本與發(fā)送到客戶端的相應(yīng)結(jié)果一起存儲(chǔ)。

query_cache_size

因此,此參數(shù)僅用于此類應(yīng)用程序服務(wù)器,否則將被禁用,并為其他服務(wù)器設(shè)置為零。

為了避免資源爭(zhēng)用,盡管啟用了該功能,但應(yīng)將該值設(shè)置為10MB左右的最小值。

總結(jié)

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)CPU飆升到100%的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫(kù)CPU飆升100%內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • shell腳本一鍵安裝MySQL5.7.29的方法

    shell腳本一鍵安裝MySQL5.7.29的方法

    這篇文章主要介紹了shell腳本一鍵安裝MySQL5.7.29的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Win7 安裝 Mysql 5.6的教程圖解

    Win7 安裝 Mysql 5.6的教程圖解

    這篇文章主要介紹了Win7 安裝 Mysql 5.6的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 詳解mysql解壓縮版安裝步驟

    詳解mysql解壓縮版安裝步驟

    這篇文章主要介紹了mysql解壓縮版安裝步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解

    SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解

    今天小編就為大家分享一篇關(guān)于SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • VS2019連接mysql8.0數(shù)據(jù)庫(kù)的教程圖文詳解

    VS2019連接mysql8.0數(shù)據(jù)庫(kù)的教程圖文詳解

    這篇文章主要介紹了VS2019連接mysql8.0數(shù)據(jù)庫(kù)的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • MySQL中關(guān)于null值的一個(gè)小問(wèn)題

    MySQL中關(guān)于null值的一個(gè)小問(wèn)題

    這篇文章主要介紹了MySQL中關(guān)于null值的一個(gè)小問(wèn)題,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • Mysql縱表轉(zhuǎn)換為橫表的方法及優(yōu)化教程

    Mysql縱表轉(zhuǎn)換為橫表的方法及優(yōu)化教程

    在應(yīng)用中為了從不同的視圖去分析數(shù)據(jù),會(huì)使用不同的方案去查詢數(shù)據(jù)庫(kù),橫表和縱表的相互轉(zhuǎn)換就是其中一個(gè)常見(jiàn)的情景,這篇文章主要給大家介紹了關(guān)于Mysql縱表轉(zhuǎn)換為橫表的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • mysql觸發(fā)器簡(jiǎn)介、創(chuàng)建觸發(fā)器及使用限制分析

    mysql觸發(fā)器簡(jiǎn)介、創(chuàng)建觸發(fā)器及使用限制分析

    這篇文章主要介紹了mysql觸發(fā)器簡(jiǎn)介、創(chuàng)建觸發(fā)器及使用限制,結(jié)合實(shí)例形式分析了mysql觸發(fā)器的功能、原理、創(chuàng)建、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • MySQL5.7.21解壓版安裝詳細(xì)教程圖解

    MySQL5.7.21解壓版安裝詳細(xì)教程圖解

    對(duì)于小編來(lái)說(shuō)安裝系統(tǒng)軟件是常干的事情,今天小編抽空給大家整理了MySQL5.7.21解壓版安裝詳細(xì)教程圖解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-09-09
  • linux下安裝mysql及mysql.sock問(wèn)題

    linux下安裝mysql及mysql.sock問(wèn)題

    最近在linux上裝mysql時(shí)遇到一些棘手的問(wèn)題,百思不得其解,下面小編給大家?guī)?lái)了linux下安裝mysql及mysql.sock問(wèn)題,感興趣的朋友一起看看吧
    2018-03-03

最新評(píng)論