0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何解決數(shù)據(jù)庫CPU使用率100%報(bào)警頻繁的問題呢

工程師鄧生 ? 來源:OSCHINA 社區(qū) ? 作者:京東云開發(fā)者 ? 2022-09-01 12:12 ? 次閱讀

1 前言

近期隨著數(shù)據(jù)量的增長,數(shù)據(jù)庫 CPU 使用率 100% 報(bào)警頻繁起來。第一個(gè)想到的就是慢 Sql,我們對(duì)未合理運(yùn)用索引的表加入索引后,問題依然沒有得到解決,深入排查時(shí),發(fā)現(xiàn)在 order by id asc limit n 時(shí),即使 where 條件已經(jīng)包含了覆蓋索引,優(yōu)化器還是選擇了錯(cuò)誤的索引導(dǎo)致。通過查詢大量資料,問題得到了解決。這里將解決問題的思路以及排查過程分享出來,如果有錯(cuò)誤歡迎指正。

2 正文

2.1 環(huán)境介紹

690987da-292c-11ed-ba43-dac502259ad0.png

2.2 發(fā)現(xiàn)問題

22 日開始,收到以下圖 1 報(bào)警變得頻繁起來,由于數(shù)據(jù)庫中會(huì)有大數(shù)據(jù)推數(shù)動(dòng)作,數(shù)據(jù)庫 CPU 偶爾報(bào)警并沒有引起對(duì)該問題的重視,直到通過圖 2 對(duì)整日監(jiān)控?cái)?shù)據(jù)分析時(shí),才發(fā)現(xiàn)問題的嚴(yán)重性,從 0 點(diǎn)開始,數(shù)據(jù)庫 CPU 頻繁被打滿。

691d470c-292c-11ed-ba43-dac502259ad0.png

圖 1:報(bào)警圖

692f59f6-292c-11ed-ba43-dac502259ad0.png

圖 2:整日 CPU 監(jiān)控圖

2.3 排查問題

發(fā)現(xiàn)問題后,開始排查慢 Sql,發(fā)現(xiàn)很多查詢未添加合適的索引,經(jīng)過一輪修復(fù)后,問題依然沒有得到解決,在深入排查時(shí)發(fā)現(xiàn)了一個(gè)奇怪現(xiàn)象,SQL 代碼如下(表名已經(jīng)替換),比較簡單的一個(gè)單表查詢語句。

poYBAGMQMVOAOpvtAABHrDwPvaU298.jpg

看似比較簡單的查詢,但執(zhí)行時(shí)長平均在 90s 以上,并且調(diào)用頻次較高。如圖 3 所示。
6942671c-292c-11ed-ba43-dac502259ad0.png

圖 3:慢 Sql 平均執(zhí)行時(shí)長 開始檢查表信息,可以看到表數(shù)據(jù)量在 2100w 左右。

69682524-292c-11ed-ba43-dac502259ad0.png

圖 4:數(shù)據(jù)表情況 排查索引情況,主鍵為 id,并且有 business_day 與 full_ps_code 的聯(lián)合索引。

pYYBAGMQMXKAJKg_AAC5df4wQwY672.jpg

通過 Explain 查看執(zhí)行計(jì)劃時(shí)發(fā)現(xiàn),possible_keys 中包含上面的聯(lián)合索引,而 Key 卻選擇了 Primary 主鍵索引,掃描行數(shù) Rows 為 1700w,幾乎等于全表掃描。 697ffca8-292c-11ed-ba43-dac502259ad0.png 圖 5:執(zhí)行計(jì)劃情況

2.4 解決問題

第一次,我們分析是,由于 Where 條件中包含了 ID,查詢分析器認(rèn)為主鍵索引掃描行數(shù)會(huì)少,同時(shí)根據(jù)主鍵排序,使用主鍵索引會(huì)更加合理,我們?cè)囍砑右韵滤饕?,想要讓查詢分析器命中我們新加的索引?/p>

ADD INDEX `idx_test`(`business_day`, `full_ps_code`, `id`) USING BTREE;
再次通過 Explain 語句進(jìn)行分析,發(fā)現(xiàn)執(zhí)行計(jì)劃完全沒變,還是走的主鍵索引。

poYBAGMQNrmAAXD5AABV73g3LmY369.jpg

69999f8c-292c-11ed-ba43-dac502259ad0.png

圖 6:執(zhí)行計(jì)劃情況 第二次,我們通過強(qiáng)制指定索引方式 force index (idx_test) 方式,再次分析執(zhí)行情況,得到圖 7 的結(jié)果,同樣的查詢條件同樣的結(jié)果,查詢時(shí)長由 90s->0.49s 左右。問題得到解決

69b4bd44-292c-11ed-ba43-dac502259ad0.png

圖 7:強(qiáng)制指定索引后執(zhí)行計(jì)劃情況

69d0761a-292c-11ed-ba43-dac502259ad0.png

第三次,我們懷疑是 where 條件中有 ID 導(dǎo)致直接走的主鍵索引,where 條件中去掉 id,Sql 調(diào)整如下,然后進(jìn)行分析。依然沒有命中索引,掃描 rows 變成 111342,查詢時(shí)間 96s

pYYBAGMQNt-AKsWhAABGpuLdlpQ556.jpg

69ebc4f6-292c-11ed-ba43-dac502259ad0.png

69fe5170-292c-11ed-ba43-dac502259ad0.png

第四次,我們把 order by 去掉,SQL 調(diào)整如下,然后進(jìn)行分析。命中了 idx_business_day_full_ps_code 之前建立的聯(lián)合索引。掃描行數(shù)變成 154900,查詢時(shí)長變?yōu)?0.062s,但是發(fā)現(xiàn)結(jié)果與預(yù)想的不一致,發(fā)生了亂序

pYYBAGMQNv6Adm2NAABQ1mQ72mw386.jpg

6a19bab4-292c-11ed-ba43-dac502259ad0.png


6a30d938-292c-11ed-ba43-dac502259ad0.png

第五次,經(jīng)過前幾次的分析可以確定,order by 導(dǎo)致查詢分析器選擇了主鍵索引,我們?cè)?Order by 中增加排序字段,將 Sql 調(diào)整如下,同樣可以命中我們之前的聯(lián)合索引,查詢時(shí)長為 0.034s,由于先按照主鍵排序,結(jié)果是一致的。相比第四種方法多了一份 filesort,問題得解決。

poYBAGMQNxyALd7yAABV3WGs9aw362.jpg

6a475fb4-292c-11ed-ba43-dac502259ad0.png
6a53257e-292c-11ed-ba43-dac502259ad0.png

第六次,我們考慮是不是 Limit 導(dǎo)致的問題,我們將 Limit 500 調(diào)整到 1000,Sql 調(diào)整如下,奇跡發(fā)生了,命中了聯(lián)合索引,查詢時(shí)長為 0.316s,結(jié)果一致,只不過多返回來 500 條數(shù)據(jù)。問題得到了解決。經(jīng)過多次實(shí)驗(yàn) Limit 大于 695 時(shí)就會(huì)命中聯(lián)合索引,查詢條件下的數(shù)據(jù)量是 79963,696/79963 大概占比是 0.0087,猜測當(dāng)獲取數(shù)據(jù)比超過 0.0087 時(shí),會(huì)選擇聯(lián)合索引,未找到源代碼驗(yàn)證此結(jié)論。

pYYBAGMQNziAI8UWAABXKmVwUbE843.jpg

6a7287ac-292c-11ed-ba43-dac502259ad0.png

6a87f5f6-292c-11ed-ba43-dac502259ad0.png

經(jīng)過我們的驗(yàn)證,其中第 2、5、6 三種方法都可以解決性能問題。為了不影響線上,我們立即修改代碼,并選擇了 force index 的方式,上線觀察一段時(shí)間后,數(shù)據(jù)庫 CPU 恢復(fù)正常,問題得到了解決。

6a9a7802-292c-11ed-ba43-dac502259ad0.png

3 事后分析

上線后問題得到了解決,同時(shí)也留給我了很多疑問。

為什么明明 where 條件中包含了聯(lián)合索引,卻未能命中,反而選擇了性能較慢的主鍵索引?

為什么在 order by 中增加了一個(gè)索引其他字段,就可以命中聯(lián)合索引了呢?

為什么我僅僅是將 limit 限制條件由原來的 500 調(diào)大后,也能命中聯(lián)合索引呢?

這一切的答案都來自 MySQL 的查詢優(yōu)化器。

3.1 查詢優(yōu)化器

查詢優(yōu)化器是專門負(fù)責(zé)優(yōu)化查詢語句的優(yōu)化器模塊,通過計(jì)算分析收集的各種系統(tǒng)統(tǒng)計(jì)信息,為查詢給出最優(yōu)的執(zhí)行計(jì)劃 —— 最優(yōu)的數(shù)據(jù)檢索方式。 優(yōu)化器決定如何執(zhí)行查詢的方式是基于一種稱為基于代價(jià)的優(yōu)化的方法。5.7 在代價(jià)類型上分為 IO、CPU、Memory。內(nèi)存的代價(jià)收集了,但是并沒有參與最終的代價(jià)計(jì)算。Mysql 中引入了兩個(gè)系統(tǒng)表,mysql.server_cost 和 mysql.engine_cost,server_cost 對(duì)應(yīng) CPU 的代價(jià),engine_cost 代表 IO 的代價(jià)。 server_cost(CPU 代價(jià))

row_evaluate_cost (default 0.2) 計(jì)算符合條件的行的代價(jià),行數(shù)越多,此項(xiàng)代價(jià)越大

memory_temptable_create_cost (default 2.0) 內(nèi)存臨時(shí)表的創(chuàng)建代價(jià)

memory_temptable_row_cost (default 0.2) 內(nèi)存臨時(shí)表的行代價(jià)

key_compare_cost (default 0.1) 鍵比較的代價(jià),例如排序

disk_temptable_create_cost (default 40.0) 內(nèi)部 myisam 或 innodb 臨時(shí)表的創(chuàng)建代價(jià)

disk_temptable_row_cost (default 1.0) 內(nèi)部 myisam 或 innodb 臨時(shí)表的行代價(jià)

由上可以看出創(chuàng)建臨時(shí)表的代價(jià)是很高的,尤其是內(nèi)部的 myisam 或 innodb 臨時(shí)表。 engine_cost(IO 代價(jià))

io_block_read_cost (default 1.0) 從磁盤讀數(shù)據(jù)的代價(jià),對(duì) innodb 來說,表示從磁盤讀一個(gè) page 的代價(jià)

memory_block_read_cost (default 1.0) 從內(nèi)存讀數(shù)據(jù)的代價(jià),對(duì) innodb 來說,表示從 buffer pool 讀一個(gè) page 的代價(jià)

這些信息都可以在數(shù)據(jù)庫中配置,當(dāng)數(shù)據(jù)庫中未配置時(shí),從 MySql 源代碼(5.7)中可以看到以上默認(rèn)值情況

6ab9aaf6-292c-11ed-ba43-dac502259ad0.png

3.2 代價(jià)配置

poYBAGMQN2KAGZiXAABiuFnB6hE024.jpg

3.3 代價(jià)計(jì)算

代價(jià)是如何算出來的呢,通過讀 MySql 的源代碼,可以找到最終的答案 3.3.1 全表掃描(table_scan_cost) 以下代碼摘自 MySql Server(5.7 分支),全表掃描時(shí),IO 與 CPU 的代價(jià)計(jì)算方式。

poYBAGMQN4OAI0MjAAE_FZ2z7ls735.jpg
pYYBAGMQN4uAHQ0zAADlMtj10YI285.jpg

根據(jù)源代碼分析,當(dāng)表中包含 100 行數(shù)據(jù)時(shí),全表掃描的成本為 23.1,計(jì)算邏輯如下

poYBAGMQN52AMqygAABZDU0N6c8455.jpg

驗(yàn)證結(jié)果如下圖

6ad746ba-292c-11ed-ba43-dac502259ad0.png

3.3.2 索引掃描(index_scan_cost) 以下代碼摘自 MySql Server(5.7 分支),當(dāng)出現(xiàn)索引掃描時(shí),是如何進(jìn)行計(jì)算的,核心代碼如下

pYYBAGMQN8iAKhoGAABfHEGQbbs544.jpg

io 代價(jià)計(jì)算核心代碼

//核心代碼
const double io_cost= index_only_read_time(index, rows) *
table->cost_model()->page_read_cost_index(index, 1.0);

// index_only_read_time(index, rows)
// 估算index占page個(gè)數(shù)

//page_read_cost_index(index, 1.0)
//根據(jù)buffer pool大小和索引大小來估算page in memory和in disk的比例,計(jì)算讀一個(gè)page的代價(jià)

cpu 代價(jià)計(jì)算核心代碼

pYYBAGMQN_OAAgS5AABfhflMzRE733.jpg


3.3.3 其他方式 計(jì)算代價(jià)的方式有很多,其他方式請(qǐng)參考 MySql 原代碼。https://github.com/mysql/mysql-server.git

3.4 深度解析

通過查看 optimizer_trace,可以了解查詢優(yōu)化器是如何選擇的索引。

pYYBAGMQOAqAd6a5AAClSllMXjo610.jpg

通過分析 rows_estimation 節(jié)點(diǎn),可以看到通過全表掃描(table_scan)的話的代價(jià)是 8.29e6,同時(shí)也可以看到該查詢可以選擇到主鍵索引與聯(lián)合索引,如下圖。

6af7ba26-292c-11ed-ba43-dac502259ad0.png

上圖中全表掃描的代價(jià)是 8.29e6,我們轉(zhuǎn)換成普通計(jì)數(shù)法為 8290000,如果使用主鍵索引成本是 3530000,聯(lián)合索引 185881,最小的應(yīng)該是 185881 聯(lián)合索引,也可以看到第一步通過成本分析確實(shí)選擇了我們的聯(lián)合索引。

6b1a2052-292c-11ed-ba43-dac502259ad0.png

6b2c6622-292c-11ed-ba43-dac502259ad0.png

6b3f857c-292c-11ed-ba43-dac502259ad0.png

但是為什么還是選擇了主鍵索引呢? 通過往下看,在 reconsidering_access_paths_for_index_ordering 節(jié)點(diǎn)下, 發(fā)現(xiàn)由于 Order by 導(dǎo)致重新選擇了索引,在下圖中可以看到主鍵索引可用(usable=true),我們的聯(lián)合索引為 not_applicable (不適用),意味著排序只能使用主鍵索引。

6b5f31c4-292c-11ed-ba43-dac502259ad0.png

接下來通過 index_order_summary 可以看出,執(zhí)行計(jì)劃最終被調(diào)整,由原來的聯(lián)合索引改成了主鍵索引,就是說這個(gè)選擇無視了之前的基于索引成本的選擇。

6b8978bc-292c-11ed-ba43-dac502259ad0.png

為什么會(huì)有這樣的一個(gè)選項(xiàng)呢,主要原因如下:

The short explanation is that the optimizer thinks — or should I say hopes — that scanning the whole table (which is already sorted by the id field) will find the limited rows quick enough, and that this will avoid a sort operation. So by trying to avoid a sort, the optimizer ends-up losing time scanning the table.

從這段解釋可以看出主要原因是由于我們使用了 order by id asc 這種基于 id 的排序?qū)懛?,?yōu)化器認(rèn)為排序是個(gè)昂貴的操作,所以為了避免排序,并且它認(rèn)為 limit n 的 n 如果很小的話即使使用全表掃描也能很快執(zhí)行完,所以它選擇了全表掃描,也就避免了 id 的排序。

5 總結(jié)

查詢優(yōu)化器會(huì)基于代價(jià)來選擇最優(yōu)的執(zhí)行計(jì)劃,但由于 order by id limit n 的存在,MySql 可能會(huì)重新選擇一個(gè)錯(cuò)誤的索引,忽略原有的基于代價(jià)選擇出來的索引,轉(zhuǎn)而選擇全表掃描的主鍵索引。這個(gè)問題在國內(nèi)外有大量的用戶反饋,BUG 地址https://bugs.mysql.com/bug.php?id=97001。官方稱在 5.7.33 以后版本可以關(guān)閉 prefer_ordering_index 來解決。如下圖所示。

6ba69b36-292c-11ed-ba43-dac502259ad0.png

另外在我們?nèi)粘B?Sql 調(diào)優(yōu)時(shí),可以通過以下兩種方式,了解更多查詢優(yōu)化器選擇過程。

poYBAGMQOFyAZk2CAACQfGRgS0c916.jpg

當(dāng)你也出現(xiàn)了本篇文章碰到的問題時(shí),可以采用以下的方法來解決

使用 force index,強(qiáng)制指定索引。

order by 中增加一個(gè)聯(lián)合索引的 key。

擴(kuò)大 limit 返回的范圍(不推薦,隨著數(shù)據(jù)量的增大,可能還會(huì)走回主鍵索引)

order by (id+0) asc 欺騙查詢優(yōu)化器,讓其選擇聯(lián)合索引。

MySQL 5.7.33 版本以上,可以關(guān)閉 prefer_ordering_index 解決。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10876

    瀏覽量

    212124
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    767

    瀏覽量

    44173
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3821

    瀏覽量

    64506

原文標(biāo)題:記錄一次數(shù)據(jù)庫CPU被打滿的排查過程

文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?

    數(shù)據(jù)庫是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫,它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫主要分為兩大類:關(guān)系型數(shù)據(jù)庫
    的頭像 發(fā)表于 01-07 10:22 ?65次閱讀

    數(shù)據(jù)庫加密辦法

    企業(yè)對(duì)于數(shù)據(jù)的重視程度不言而喻,也衍生出了數(shù)據(jù)=資產(chǎn)的概念。但是數(shù)據(jù)泄漏的事件頻繁發(fā)生,為了保護(hù)數(shù)據(jù)資產(chǎn),企業(yè)有必要對(duì)
    的頭像 發(fā)表于 12-24 09:47 ?94次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、Mysql數(shù)據(jù)庫表中無任何數(shù)據(jù)或只有部分
    的頭像 發(fā)表于 12-16 11:05 ?179次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Mysql<b class='flag-5'>數(shù)據(jù)庫</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫事件觸發(fā)的設(shè)置和應(yīng)用

    數(shù)據(jù)庫無論對(duì)于生產(chǎn)管理還是很多的實(shí)際應(yīng)用都非常重要。小編這次聊一下數(shù)據(jù)庫事件觸發(fā)的應(yīng)用。示例使用了postgresql和Python。
    的頭像 發(fā)表于 12-13 15:14 ?153次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進(jìn)行查詢等操作;2、使用mysqlcheck和myisamchk無法修復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 12-09 11:05 ?177次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

    一個(gè)運(yùn)行在存儲(chǔ)上的SQLServer數(shù)據(jù)庫,有1000多個(gè)文件,大小幾十TB。數(shù)據(jù)庫每10天生成一個(gè)NDF文件,每個(gè)NDF幾百GB大小。數(shù)據(jù)庫包含兩個(gè)LDF文件。 存儲(chǔ)損壞,數(shù)據(jù)庫
    的頭像 發(fā)表于 10-31 13:21 ?260次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過拼接<b class='flag-5'>數(shù)據(jù)庫</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫</b>

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機(jī)房異常斷電后,Oracle數(shù)據(jù)庫報(bào)錯(cuò):“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。數(shù)據(jù)
    的頭像 發(fā)表于 09-30 13:31 ?320次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—異常斷電后Oracle<b class='flag-5'>數(shù)據(jù)庫</b>啟<b class='flag-5'>庫</b>報(bào)錯(cuò)的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報(bào)錯(cuò)“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?396次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Oracle<b class='flag-5'>數(shù)據(jù)庫</b>文件system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯(cuò)誤823,附加數(shù)據(jù)庫失敗。數(shù)據(jù)庫沒有備份,無法通過備份恢復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 09-20 11:46 ?370次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯(cuò)誤的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    JAVA應(yīng)用CPU跳點(diǎn)自動(dòng)DUMP工具

    問題。如果CPU使用率過高,可能表示系統(tǒng)存在資源瓶頸,需要進(jìn)行優(yōu)化或升級(jí)。 CPU監(jiān)控的難點(diǎn) 現(xiàn)有的監(jiān)控平臺(tái)提供了多種方式來獲取容器和JVM的CPU
    的頭像 發(fā)表于 08-05 17:48 ?544次閱讀

    恒訊科技分析:sql數(shù)據(jù)庫怎么用?

    SQL數(shù)據(jù)庫的使用通常包括以下幾個(gè)基本步驟: 1、選擇數(shù)據(jù)庫系統(tǒng): 選擇適合您需求的SQL數(shù)據(jù)庫系統(tǒng),如MySQL、PostgreSQL、Microsoft SQL Server、SQLite等
    的頭像 發(fā)表于 07-15 14:40 ?373次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫所在分區(qū)空間不足報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 某品牌服務(wù)器存儲(chǔ)中有兩組raid5磁盤陣列。操作系統(tǒng)層面跑著SQL Server數(shù)據(jù)庫,SQL Server數(shù)據(jù)庫存放在D盤分區(qū)中。
    的頭像 發(fā)表于 07-10 13:54 ?522次閱讀

    恒訊科技全面解析:如何有效降低服務(wù)器CPU用率?

    降低服務(wù)器CPU用率是一個(gè)涉及監(jiān)控、診斷和優(yōu)化的全面過程。以下是一些有效的方法: 1、監(jiān)控CPU使用率: 使用工具如top, htop, vmstat, 或 iostat實(shí)時(shí)監(jiān)控
    的頭像 發(fā)表于 05-10 17:24 ?752次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統(tǒng)服務(wù)器使用。windows系統(tǒng)服務(wù)器內(nèi)運(yùn)行了Sql Server數(shù)據(jù)庫,存儲(chǔ)空間在操作系統(tǒng)層面劃分了三個(gè)邏輯分區(qū)
    的頭像 發(fā)表于 05-08 11:43 ?523次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—raid5陣列上層Sql Server<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)】Oracle數(shù)據(jù)庫ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)庫ASM磁盤組掉線,ASM實(shí)例不能掛載。數(shù)據(jù)庫管理員嘗試修復(fù)數(shù)據(jù)庫,但是沒有成功。
    的頭像 發(fā)表于 02-01 17:39 ?535次閱讀
    【<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)】Oracle<b class='flag-5'>數(shù)據(jù)庫</b>ASM實(shí)例無法掛載的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例