最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1、定位cpu問題所在

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

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

進入mysql命令行

mysql -h主機地址 -u用戶名 -p用戶密碼

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

show variables like ‘log_slow_queries';

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

set global log_slow_queries = on;

3、使用show processlist查看運行線程

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

show processlist

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

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

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

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

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

運行show full processlist

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

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

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

【4】打開mysql的配置文件my.cnf文件

配置如下:

vim /etc/my.cnf

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

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

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

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

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

innodb_buffer_pool_size

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

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

query_cache_size

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

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

總結(jié)

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

相關(guān)文章

  • MySQL CTE 通用表達式詳解

    MySQL CTE 通用表達式詳解

    在MySQL中,CTE是一種簡潔而強大的語法,用于構(gòu)建臨時的結(jié)果集,通常用于簡化復(fù)雜查詢,下面通過本文給大家介紹MySQL CTE 通用表達式,感興趣的朋友一起看看吧
    2025-06-06
  • 在Linux環(huán)境下mysql的root密碼忘記解決方法(三種)

    在Linux環(huán)境下mysql的root密碼忘記解決方法(三種)

    這篇文章主要介紹了在Linux環(huán)境下mysql的root密碼忘記解決方法,詳細的介紹了3種解決辦法,具有一定的參考價值,有興趣的可以了解一下。
    2016-12-12
  • MySQL行列轉(zhuǎn)化方式

    MySQL行列轉(zhuǎn)化方式

    文章介紹了如何將行數(shù)據(jù)轉(zhuǎn)化為列數(shù)據(jù),并展示了如何使用UNION和UNION ALL的區(qū)別,作者分享了個人經(jīng)驗,希望能對大家有所幫助
    2026-01-01
  • MySQL數(shù)據(jù)庫的shell腳本自動備份

    MySQL數(shù)據(jù)庫的shell腳本自動備份

    這篇文章主要介紹了MySQL數(shù)據(jù)庫的shell腳本自動備份的相關(guān)資料,網(wǎng)站或應(yīng)用的后臺都有備份數(shù)據(jù)庫的功能按鈕,但需要去手工執(zhí)行。我們需要一種安全的,每天自動備份的方法需要的朋友可以參考下
    2017-03-03
  • mysql存儲過程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法

    mysql存儲過程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET

    這篇文章主要介紹了mysql存儲過程之創(chuàng)建(CREATE PROCEDURE)和調(diào)用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法,結(jié)合實例形式較為詳細的分析了mysql存儲過程創(chuàng)建、調(diào)用及變量創(chuàng)建、賦值具體原理、操作技巧與相關(guān)注意事項,需要的朋友可以參考下
    2019-12-12
  • mysql中update按照多重條件進行更新處理的方案

    mysql中update按照多重條件進行更新處理的方案

    更新數(shù)據(jù)是使用數(shù)據(jù)庫時最重要的任務(wù)之一,下面這篇文章主要給大家介紹了關(guān)于mysql中update按照多重條件進行更新處理的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • MySQL批量去掉某個字段中的空格

    MySQL批量去掉某個字段中的空格

    這篇文章主要介紹了MySQL批量去掉某個字段中的空格的簡單方法,具有一定參考價值,給大家分享下,一起參考,交流。
    2017-10-10
  • PHP MYSQL注入攻擊需要預(yù)防7個要點

    PHP MYSQL注入攻擊需要預(yù)防7個要點

    這篇文章主要介紹了PHP MYSQL開發(fā)中,對于注入攻擊需要預(yù)防的7個要點,大家需要注意了
    2013-11-11
  • Linux下將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程

    Linux下將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程

    這篇文章主要介紹了將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程,當然遷移之前不要忘記數(shù)據(jù)庫的備份!需要的朋友可以參考下
    2015-11-11
  • MySQL之表碎片化的問題解決

    MySQL之表碎片化的問題解決

    MySQL數(shù)據(jù)庫的碎片是由于頻繁的增刪改查操作導(dǎo)致的數(shù)據(jù)塊不連續(xù)或不規(guī)則分布,本文主要介紹了MySQL之表碎片化的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08

最新評論

阳曲县| 嵊州市| 凭祥市| 博爱县| 阿克苏市| 红原县| 常山县| 肇东市| 思茅市| 自治县| 古浪县| 九龙县| 五常市| 梓潼县| 新巴尔虎左旗| 凉山| 鲁甸县| 山西省| 永州市| 井研县| 凌云县| 蕉岭县| 隆安县| 霍山县| 沙坪坝区| 盘锦市| 左云县| 綦江县| 诏安县| 沽源县| 勐海县| 荥阳市| 安义县| 焉耆| 垫江县| 海门市| 承德县| 沁水县| 蛟河市| 汤原县| 溆浦县|