91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL生產庫內存異常增高怎么排查

發布時間:2022-04-11 10:09:10 來源:億速云 閱讀:216 作者:iii 欄目:開發技術

這篇“MySQL生產庫內存異常增高怎么排查”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“MySQL生產庫內存異常增高怎么排查”文章吧。

修改performance_schema

因為公司生產環境使用的阿里云RDS,修改參數相對方便,performance_schema默認為0,此次修改為1。修改之后提交參數,數據庫會進行重啟,建議在業務低峰進行。

打開內存監控

登錄MySQL數據庫,執行如下SQL,打開內存監控。

update performance_schema.setup_instruments set enabled = 'yes' where name like 'memory%';

打開之后驗證一下。

select * from performance_schema.setup_instruments where name like 'memory%innodb%' limit 5;

**注意:**該命令是在線打開內存統計,所以只會統計打開后新增的內存對象,打開前的內存對象不會統計,建議您打開后等待一段時間再執行后續步驟,便于找出內存使用高的線程。

查找內存消耗

統計事件消耗內存

select event_name,
       SUM_NUMBER_OF_BYTES_ALLOC
from performance_schema.memory_summary_global_by_event_name
order by SUM_NUMBER_OF_BYTES_ALLOC desc
LIMIT 10;
+---------------------------------------+-------------------------------------+
| event_name                            | SUM_NUMBER_OF_BYTES_ALLOC           |
+---------------------------------------+-------------------------------------+
| memory/sql/Filesort_buffer::sort_keys | 763523904056                        |
| memory/memory/HP_PTRS                 | 118017336096                        |
| memory/sql/thd::main_mem_root         | 114026214600                        |
| memory/mysys/IO_CACHE                 | 59723548888                         |
| memory/sql/QUICK_RANGE_SELECT::alloc  | 14381459680                         |
| memory/sql/test_quick_select          | 12859304736                         |
| memory/innodb/mem0mem                 | 7607681148                          |
| memory/sql/String::value              | 1405409537                          |
| memory/sql/TABLE                      | 1117918354                          |
| memory/innodb/btr0sea                 | 984013872                           |
+---------------------------------------+-------------------------------------+

可以看到內存消耗最高的event是Filesort_buffer,根據經驗,這個應該是排序有關。

統計線程消耗內存

select thread_id,
       event_name,
       SUM_NUMBER_OF_BYTES_ALLOC
from performance_schema.memory_summary_by_thread_by_event_name
order by SUM_NUMBER_OF_BYTES_ALLOC desc
limit 10;
+---------------------+---------------------------------------+-------------------------------------+
| thread_id           | event_name                            | SUM_NUMBER_OF_BYTES_ALLOC           |
+---------------------+---------------------------------------+-------------------------------------+
| 105                 | memory/memory/HP_PTRS                 | 69680198792                         |
| 183                 | memory/sql/Filesort_buffer::sort_keys | 49210098808                         |
| 154                 | memory/sql/Filesort_buffer::sort_keys | 43304339072                         |
| 217                 | memory/sql/Filesort_buffer::sort_keys | 37752275360                         |
| 2773                | memory/sql/Filesort_buffer::sort_keys | 31460644712                         |
| 218                 | memory/sql/Filesort_buffer::sort_keys | 31128994280                         |
| 2331                | memory/sql/Filesort_buffer::sort_keys | 28763981248                         |
| 106                 | memory/memory/HP_PTRS                 | 27938197584                         |
| 191                 | memory/sql/Filesort_buffer::sort_keys | 27701610224                         |
| 179                 | memory/sql/Filesort_buffer::sort_keys | 25624723968                         |
+---------------------+---------------------------------------+-------------------------------------+

可以看到內存消耗多的線程都跟Filesort_buffer相關。

定位具體SQL

根據前邊我們查到的thread_id去日志里查找對應的SQL,阿里云RDS審計日志相對還是比較強大的。我們直接根據thread_id直接檢索。

MySQL生產庫內存異常增高怎么排查

我們在日志里看到大量這樣的SQL,掃描行數在幾千到幾萬不等。雖然每次查詢時間并不長,大概在幾十到幾百毫秒,但是并發量很大。

以上就是關于“MySQL生產庫內存異常增高怎么排查”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰兴市| 同德县| 长治市| 东明县| 南澳县| 大埔县| 利川市| 仙游县| 额尔古纳市| 河源市| 北安市| 蓬安县| 平山县| 清远市| 丰原市| 黄浦区| 电白县| 景泰县| 永吉县| 德保县| 汉源县| 惠来县| 焦作市| 盐边县| 汕头市| 巴东县| 灌南县| 额济纳旗| 洪洞县| 漠河县| 馆陶县| 闻喜县| 财经| 江安县| 鹤岗市| 安达市| 中卫市| 鄂州市| 绥中县| 清丰县| 云南省|