中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

發布時間:2020-08-10 17:19:56 來源:ITPUB博客 閱讀:171 作者:記錄每一次錯誤 欄目:關系型數據庫
分享預告

你的系統中是否存在間歇性的 IO 性能問題,或者一直以來都 IO 性能不佳呢?

文章的最后,將給出共性的風險提示和檢查方法,還猶豫什么呢,也查一查您的系統吧^_^。


這次我們分享的主題   ---   看中國最美 DBA 一次價值連城的系統優化!

通過系統的優化,將某客戶一個關鍵業務系統經常性卡頓和白屏的性能問題徹底解決 !

首先讓大家提前看一下 Oracle 數據庫優化前后的效果比對圖吧,一會再看 ..

優化前:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

優化后:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

是的,似乎有人不關心優化效果,而是關心“中國最美女 DBA”

好吧,言歸正傳,十七期,我們邀請到了中亦科技數據庫團隊的小仙女 -- 小亦姑娘,為大家做分享上面這個價值連城的系統優化案例!之所以說價值連城,是因為對客戶而言,意義重大。案例中知識點很多,精彩不斷!

 

小亦姑娘作為中亦科技數據庫團隊的新生代90后DBA,成為團隊中初級DBA的典型代表,本篇為其處理CASE的代表作!

注意,不要只看照片,文章才是關鍵!也期待小亦姑娘更多作品^_^

喜歡就轉發吧,您的轉發是我們持續分享的動力!

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

臨危受命

"小亦 , 你下午和銷售去解決一個潛在客戶的性能問題吧。"

原來,一個保險客戶,他們的核心系統,數據庫是 oracle單實例,跑在aix小機上。

業務系統每天都會經常性地出現卡頓和白屏現象,業務部門多次投訴了,現在客戶的運維部門壓力很大,如果問題繼續下去,所有人都會被逼瘋的。

這次他們的運維經理,找到中亦科技,希望我們可以出手解決這個問題,問題只要解決了,一切好說。之前找過一些公司,但均未能解決。問題也已經很長時間了。

看上去,客戶遇到麻煩了 我,盡力吧!


問題很嚴重啊

到達客戶現場,客戶和我簡單介紹了下這個系統的情況后,我就迫不及待的取出 awr 報告! Oracle 之所以經久不衰,被客戶喜愛,很重要的一個原因是可度量和可調整。

通過 OWI 就可以輕松了解到系統是否存在瓶頸,無數的接口等著你來控制它。

直接上等待事件,如下所示:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

這一看,直接嚇了一跳。數據庫中這么多異常的等待,怪不得業務系統卡頓了。

可以看到:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

?     等待事件中 Log File Sync 平均每次 94ms ,占整個 DB Time 42%

?     log buffer space 平均每次 952ms ,占整個 DB Time 20%

?     ORACLE 卡住的原因是   logfile 寫不下去,導致整個數據的 commit 變慢。

?    logbuffer space buffer busy waits 顯然是   Log File Sync 慢的一個附屬結果。


一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

顯然因為 lgwr 寫的慢,導致 log buffer 來不及刷到磁盤,導致 log buffer 看上去出現“滿”了,其他進程不得不等待" log buffer space”, 根本原因在于 log writer 寫的慢!

LGWR有多慢

接下來,小亦檢查了下 lgwr 進程的 trace:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

可以看到

在線日志寫入延時最高超過 137 秒,最后一條記錄顯示,寫入 18K ,居然需要 65 秒!真是讓人吃驚的結果。這里不得不懷疑存儲 IO 子系統出現了問題!難道這么簡單就被小亦解決了 嘿嘿

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

令人失望的溝通

小亦將上述發現和分析方向告訴了客戶,結果發現,客戶對此并不意外。

聽客戶說到,之前找到的專業公司也發現了這個問題,然后把問題就甩給他們了,說是IO有性能問題!但是我們多次檢查存儲陣列、SAN交換機、鏈路,結果沒有任何報錯和有用的線索!操作系統也沒有任何報錯!“如果你們最后也是這個結論,那你們可以回去了!”

有點委屈,中亦又不是只做數據庫服務的公司,我們是一站式服務商。小亦一定要證明給他看,我們是不一樣的!

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

錯怪了客戶

難道是客戶水準不夠,查不出來存儲IO子系統方面的問題?

正猶豫,要不要申請公司的AIX專家和存儲專家過來一起排查的時候呢, 不如先自己檢查檢查,等確認存儲確實有性能問題后再說吧。

敲下iostat,結果如下所示:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

看到這些數據,看來小亦真的錯怪客戶了!

從操作系統看 LUN 一級的性能表現,是非常棒的!

服務隊列沒有滿,沒有 timeout fail, 讀寫的平均服務時間 avgsrv 以及最大響應時間 maxserv 都是非常小的。如果 iostat 或者 sar –d 沒有性能問題,那么還去找存儲陣列查,方向就是錯的了!

思考時刻 
一次系統優化!-技術人生系列-我和數據中心的故事-第十七期
到這里,讀者可以停下來思考一下,如果是你,你會怎么接著往下查,你的懷疑方向有是什么呢?

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

找到通往天堂的路口

既然lgwr進程寫的慢,那么小亦就用truss來獲取該進程的系統調用情況吧,如下所示:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

可以看到:

lgwr 大量地調用 aio_nwait_timeout,listio64 兩個系統 call ,并且在 listio64 這個 call 調用之后,都會有一段時間的停頓。顯然,這兩個屬于 AIX 系統異步 IO 的調用。

那么接下來檢查異步 IO 的配置就順其自然了。檢查如下:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

# ioo -F -a|grep aio

aio_active = 1

aio_maxreqs =4096   # 最大請求數

aio_maxservers = 10     # 每個 cpu aio 的最大服務數

aio_minservers = 3      # 每個 cpu aio 的最小服務數

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

    該系統配置了22 CPU,每顆CPU 最多支持10個AIO SERVER,那么整個系統理論上最大是22*10=220個AIO SERVER.

繼續乘勝追擊,看看操作系統起了多少個AIO SERVER呢?

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

# pstat –a |grep -c kproc

320

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

可以看到,一共起了 320 個!不只是最大的 220. 看來,當最大 SERVER 不夠的時候,系統是允許有突破這個限制的!

小亦之后多次持續的檢查,發現都是 320 個,正常而言, AIOSERVER 過了一個空閑時間,數量將會降下去,除非一直在工作!

這就對了!小亦看到這,心里已經樂開花了,顧不得女孩子的矜持了。

AIOSERVER 不足,導致 LGWR 沒有無用的 AIO SERVER,IO 壓根傳遞不到 LUN 一級,因此 IO 長時間無法完成。

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

原因總結

可以認為是應用發出太多的 IO 請求,導致操作系統 AIO server 不能滿足需求,從而導致 LGWR 寫入變得極其緩慢。


再次思考 
一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

至此,讀者朋友們,不妨停下來,思考下,如果是您來決策,您會怎么調整?Maxserver從10調整到多大呢?20?50?還是……

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

您的決策可能會影響到優化的效果,效果不好,可能就會影響到客戶的信息,畢竟這是客戶的關鍵業務系統啊,不妨停下來,看看小亦的選擇。

選擇前的確認

為了進一步坐實證據,小亦發出下列命令,獲得異步 IO 不足的情況:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

可以看到:

1 秒內,最大的異步 IO 的請求數量都超過 2000 了,遠遠超過 AIO 設置的最大值 220 IO 寫的慢就是必然的了。

解決方案


有了前面的分析,解決起來就簡單了!

這個性能問題,我們不調 SQL ,我們不改數據庫參數,我們改操作系統參數!

在征求公司 AIX 專家和團隊三線專家的意見后,小亦給客戶提出了以下優化方案:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

修改 AIO 相關參數: maxserver 調大到 800 ,同時修改 maxreqs 16384

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

令人振奮的優化效果

做完操作系統參數調整后,小亦也是無比期待啊,就像自己的孩子一樣。

第二天迫不及待給客戶去了電話,“截止目前,沒有再出現任何系統卡頓和白屏的情況了,實在是太感謝了!這是一次價值連城的優化啊!對業務的健康發展意義重大!你們繼續做進一步的優化,商務的事情交給我

優化前:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

優化后:

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期


經驗提示

在AIX操作系統上, 如果采用文件系統存放數據庫文件 ,不正確的異步IO配置,會導致IO 出現嚴重的性能問題。 很多客戶忽略掉了這一點,并且有可能在持續忍受著糟糕的IO性能而無從下手。

中亦科技建議大家通過下列命令檢查或者監控起來, 及時作出調整,確保系統運行在最佳性能狀態下;

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

步驟 1-- 獲取 CPU 個數

# vmstat 

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期
一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

步驟2—查看異步IO的配置

# ioo -F -a|grep aio

aio_active = 1

aio_maxreqs =4096   # 最大請求數

aio_maxservers = 10     # 每個 cpu aio 的最大服務數

aio_minservers = 3      # 每個 cpu aio 的最小服務數

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期
一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

步驟3—查看異步IO的maxgc:

如果maxgc長時間處于超過CPU個數*aio_maxservers的狀態,則說明IO可能有嚴重性能問題,需要對異步IO配置做出調整!

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期

一次系統優化!-技術人生系列-我和數據中心的故事-第十七期



向AI問一下細節

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

AI

保靖县| 霍山县| 高陵县| 基隆市| 济源市| 邵阳市| 肇州县| 庄浪县| 盱眙县| 高陵县| 新巴尔虎右旗| 军事| 云和县| 西畴县| 高雄县| 白城市| 和硕县| 沙河市| 临沂市| 沙洋县| 梁平县| 宜良县| 手机| 项城市| 河北省| 视频| 玉林市| 钟山县| 安仁县| 桦川县| 南投市| 乐平市| 阿拉善左旗| 灯塔市| 靖远县| 元谋县| 阿荣旗| 郁南县| 迁安市| 涡阳县| 日喀则市|