亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

基于平臺(tái)工具的業(yè)務(wù)優(yōu)化

IT那活兒 / 839人閱讀
基于平臺(tái)工具的業(yè)務(wù)優(yōu)化
筆者所在公司因?yàn)橛信涮椎倪\(yùn)維產(chǎn)品工具,所以在實(shí)際工作中,當(dāng)遇到性能問(wèn)題需要排查原因及優(yōu)化時(shí),使用對(duì)應(yīng)的產(chǎn)工具基本就可定位處理大部分性能問(wèn)題??傮w上基于平臺(tái)工具可將處理流程分為兩部分:?jiǎn)栴}定位及針對(duì)性優(yōu)化。下面筆者就自己日常的問(wèn)題定位和性能優(yōu)化過(guò)程予以分享,希望對(duì)讀者起到拋磚引玉之效。


問(wèn)題定位



主要通過(guò)服務(wù)器性能、數(shù)據(jù)庫(kù)負(fù)載、Top事務(wù)三個(gè)維度進(jìn)行分析。其中,服務(wù)器性能分析可以對(duì)主機(jī)的CPU、內(nèi)存、SWAP、I/O等多個(gè)維度指標(biāo)進(jìn)行分析判斷,確認(rèn)問(wèn)題后再通過(guò)相關(guān)日志(例如系統(tǒng)日志、OSW等)進(jìn)一步對(duì)問(wèn)題排查;


數(shù)據(jù)庫(kù)負(fù)載分析可以對(duì)數(shù)據(jù)庫(kù)當(dāng)前的等待事件進(jìn)行歸類整理,通過(guò)性能圖表及Top會(huì)話可以很直觀的看出當(dāng)前數(shù)據(jù)庫(kù)存在的主要問(wèn)題,并對(duì)引起數(shù)據(jù)庫(kù)負(fù)載升高的原因進(jìn)行排查。


Top事務(wù)可以對(duì)應(yīng)用程序/數(shù)據(jù)庫(kù)中響應(yīng)時(shí)間較長(zhǎng)的事務(wù)進(jìn)行分析,并與應(yīng)用開(kāi)發(fā)同事共同對(duì)引起事務(wù)響應(yīng)時(shí)間較長(zhǎng)的原因進(jìn)行排查。




針對(duì)性優(yōu)化



根據(jù)精細(xì)化運(yùn)維平臺(tái)提供的SQL信息,如執(zhí)行時(shí)間、物理讀、相關(guān)對(duì)象統(tǒng)計(jì)等信息判斷SQL對(duì)數(shù)據(jù)庫(kù)產(chǎn)生的影響,對(duì)SQL性能及能否優(yōu)化做出初步的判斷。如果可以優(yōu)化,那么再根據(jù)執(zhí)行計(jì)劃、索引等信息對(duì)SQL語(yǔ)句采取相應(yīng)的優(yōu)化措施。




案例分享



下面主要通過(guò)3個(gè)實(shí)際工作中的案例,給大家介紹下借助精細(xì)化運(yùn)維平臺(tái)的優(yōu)化流程及解決方案,3個(gè)案例分別是:

  • 案例1、某系統(tǒng)單據(jù)查詢優(yōu)化

  • 案例2、某平臺(tái)ETLSQL優(yōu)化

  • 案例3、某系統(tǒng)檔案查詢優(yōu)化




某系統(tǒng)單據(jù)查詢優(yōu)化


問(wèn)題現(xiàn)象及描述:

單據(jù)查詢是該系統(tǒng)的核心業(yè)務(wù)之一,該模塊自上線以后隨著數(shù)據(jù)量的不斷增大開(kāi)始出現(xiàn)了性能問(wèn)題,主要表現(xiàn)在:

1、模塊的響應(yīng)時(shí)間較長(zhǎng);


2、在業(yè)務(wù)高峰時(shí)段并發(fā)數(shù)較高時(shí),系統(tǒng)CPU使用率飆升,進(jìn)而影響了其他模塊的正常運(yùn)行。


收到用戶反饋后,通過(guò)精細(xì)化平臺(tái)對(duì)應(yīng)用程序在業(yè)務(wù)高峰期時(shí)占用系統(tǒng)資源較多的事務(wù)進(jìn)行抓取,并對(duì)事務(wù)中的SQL語(yǔ)句進(jìn)行定位。


selectt1.*

from(select *

fromau

leftjoin ac

onac.ct_number = au.agent_code

whereau.repair_no like %XXXX%) t1,

(selectform_id, max(task_id), max(audit_node)

fromt

whereform_type = 01

groupby form_id) t2

wheret1.id = t2.form_id

orderby t1.repair_no



該模塊對(duì)應(yīng)的SQL為一條簡(jiǎn)單查詢語(yǔ)句,視圖t1和視圖t2做關(guān)聯(lián),從執(zhí)行計(jì)劃中可以看到,兩個(gè)視圖做了VIEWMERGE,ac表和au表關(guān)聯(lián)后,再去HASHt表。這里存在的問(wèn)題是,每次au表模糊查詢返回的結(jié)果集數(shù)量非常少,但優(yōu)化器仍然將ID=5的Rows估算為1178(num_rows* 5%),進(jìn)而導(dǎo)致優(yōu)化器將NL的COST算多,導(dǎo)致T表(該表較大)進(jìn)行了全表掃描,而不是采用(acjoin au) NLT的連接方式,造成了性能瓶頸。


解決方案

由于優(yōu)化器對(duì)雙邊模糊查詢Rows估算的特殊性,導(dǎo)致在統(tǒng)計(jì)信息準(zhǔn)確的前提下對(duì)執(zhí)行計(jì)劃的選擇出現(xiàn)了偏差。在應(yīng)用側(cè)暫時(shí)無(wú)法修改代碼的前提下,針對(duì)該問(wèn)題我們主要做了如下優(yōu)化措施:對(duì)模糊查詢相關(guān)表的統(tǒng)計(jì)信息刪除,使用動(dòng)態(tài)采樣。


優(yōu)化后,通過(guò)精細(xì)化運(yùn)維平臺(tái)可以看到,系統(tǒng)CPU資源得到了較大的緩解,查詢模塊的響應(yīng)時(shí)間也由長(zhǎng)時(shí)間卡頓優(yōu)化至1秒內(nèi)返回結(jié)果,較大程度的提升了用戶的體驗(yàn)。




某平臺(tái)ETLSQL優(yōu)化



問(wèn)題現(xiàn)象及描述

該平臺(tái)每月月初會(huì)有定時(shí)調(diào)度對(duì)上個(gè)月的少數(shù)異常數(shù)據(jù)進(jìn)行刪除,每次執(zhí)行時(shí),系統(tǒng)性能問(wèn)題較為明顯,主要表現(xiàn)在:

1、系統(tǒng)I/O資源占用明顯;


2、異常數(shù)據(jù)的清理模塊通常要執(zhí)行60小時(shí)左右,導(dǎo)致每月月初的前兩天該系統(tǒng)幾乎處于卡頓狀態(tài)。


下圖為該模塊執(zhí)行時(shí),系統(tǒng)的I/O情況:


在語(yǔ)句執(zhí)行期間,我們通過(guò)精細(xì)化運(yùn)維平臺(tái)TopSQL模塊快速定位至相關(guān)SQL:


SQL詳情頁(yè)顯示,相關(guān)會(huì)話的活動(dòng)百分比占用了42%,SQL語(yǔ)句的平均邏輯讀、物理讀及耗費(fèi)的DBTime等均占用較大。

deletefrom ci o

whereexists (select t.machine_no, t.plat_flag

fromci t

wheret.machine_no = o.machine_no

andt.plat_flag = o.plat_flag

andt.month_time = 2019-02

groupby t.machine_no, t.plat_flag

havingcount(*) > 1)

andexists (select 1

froms_info s

wheres.area_no = substr(o.machine_no, 1, 7)

ando.cname <> s.cname);



該模塊對(duì)應(yīng)的是一條delete語(yǔ)句,相關(guān)SQL語(yǔ)句及執(zhí)行計(jì)劃顯示出兩點(diǎn)問(wèn)題:

1、分區(qū)表沒(méi)有做分區(qū)裁剪,體現(xiàn)在ID=5的PARTITIONRANGEALL操作,該表按月分區(qū),每月數(shù)據(jù)量為15G左右,目前有80個(gè)分區(qū),全分區(qū)掃描嚴(yán)重影響了系統(tǒng)資源;


2、對(duì)大表的IX_CI1索引掃描次數(shù)較多(exits中g(shù)roupby having寫法造成的filter操作,且連接列machine_no基數(shù)較大)。


解決方案

了解用戶需求并定位至性能瓶頸后,我們對(duì)相關(guān)語(yǔ)句進(jìn)行了改寫,由于每月的異常數(shù)據(jù)量較少,因此我們采用了rowid的方式:

1、利用分析函數(shù)將異常數(shù)據(jù)提前計(jì)算,保存異常數(shù)據(jù)的rowid。


2、使用rowid驅(qū)動(dòng)主表進(jìn)行快速刪除。

delete/*+ use_nl(c) */

fromci c

whererowid in (select /*+ full(t) leading(s) use_hash(t) */

t.rowid

from(select t.cname,

t.machine_no,

count(*)over(partition by t.machine_no, t.plat_flag) cnt

fromci t

wheret.month_time = 2019-02) t,

s_infos

wheret.cnt> 1

andsubstr(t.machine_no, 1, 7) = s.area_no

andt.cname <> s.cname);


通過(guò)等價(jià)改寫后,整個(gè)模塊的性能開(kāi)銷僅為對(duì)單個(gè)分區(qū)的掃描操作,性能得到大幅的提升,通過(guò)精細(xì)化運(yùn)維平臺(tái)顯示,優(yōu)化后,系統(tǒng)的性能得到了明顯的改善:

1、服務(wù)器的I/O資源得到了較大程度的緩解,iowait降至5%以內(nèi);


2、數(shù)據(jù)庫(kù)的整體負(fù)載降低約60%,物理I/O降低約80%;


3、解決了模塊執(zhí)行時(shí)間過(guò)長(zhǎng)的問(wèn)題,經(jīng)過(guò)優(yōu)化該模塊的執(zhí)行時(shí)間降至20分鐘左右完成,優(yōu)化效果較為明顯。



某系統(tǒng)檔案查詢優(yōu)化



問(wèn)題現(xiàn)象及描述

該模塊上線后,點(diǎn)擊查詢(由于總體返回的數(shù)據(jù)量不多,因此沒(méi)有設(shè)置過(guò)濾條件)按鈕長(zhǎng)時(shí)間無(wú)響應(yīng),系統(tǒng)CPU資源飆升,占用明顯。通過(guò)精細(xì)化運(yùn)維平臺(tái)顯示,在模塊執(zhí)行期間,系統(tǒng)CPU使用率在90%左右。


通過(guò)TopSQL模塊定位至相關(guān)語(yǔ)句,通過(guò)SQL詳情頁(yè)顯示,該SQL語(yǔ)句占用了近75%的系統(tǒng)資源,總邏輯讀達(dá)到3億,執(zhí)行時(shí)間已超過(guò)50小時(shí),消耗了大量的DBTime,嚴(yán)重影響了數(shù)據(jù)庫(kù)性能。

selectws.id, wa.ct_number, ms.business

fromws

leftjoin wa

onwa.ct_number = ws.ct_number

leftjoin ms

onms.station_code = ws.st_number

wherews.status = 有效

and(select count(1)

fromwb

leftjoin wr

onwr.wp_no = wb.wp_no

wherewr.is_urgent = 1

andwr.service_no = ws.st_number) < ws.pg_number;



該模塊對(duì)應(yīng)的是一條查詢語(yǔ)句,結(jié)構(gòu)相對(duì)比較簡(jiǎn)單,關(guān)聯(lián)后通過(guò)標(biāo)量計(jì)算對(duì)結(jié)果集進(jìn)行過(guò)濾,通過(guò)相關(guān)執(zhí)行計(jì)劃可以看到,標(biāo)量部分的WB與WR表關(guān)聯(lián)了多次,造成了性能瓶頸。


解決方案

確定了SQL語(yǔ)句存在的性能問(wèn)題后,我們對(duì)相關(guān)SQL語(yǔ)句進(jìn)行了改寫,通常的優(yōu)化方案是對(duì)標(biāo)量部分進(jìn)行改寫,然后通過(guò)控制執(zhí)行計(jì)劃改變標(biāo)量的連接方式,提升性能:

selectws.id, wa.ct_number, ms.business

fromws

leftjoin wa

onwa.ct_number = ws.ct_number

leftjoin ms

onms.station_code = ws.st_number

leftjoin (selectwr.service_no, count(1) cnt

fromwb

leftjoin wr

onwr.wp_no = wb.wp_no

wherewr.is_urgent = 1

groupby wr.service_no)cc

on(cc.service_no = ws.st_number)

wherews.status = 有效

andnvl(cc.cnt,0)< ws.pg_number;


通過(guò)等價(jià)改寫后,整體的系統(tǒng)性能得到大幅提升,從精細(xì)化運(yùn)維平臺(tái)對(duì)比優(yōu)化前后的系統(tǒng)負(fù)載:

1、系統(tǒng)CPU由90%的使用率降至10%以內(nèi),大幅降低了系統(tǒng)的整體負(fù)載;


2、系統(tǒng)邏輯讀由平均4K/s降至1.8k/s,有效的降低了I/O帶來(lái)的性能開(kāi)銷;


3、相關(guān)模塊性能提升較為明顯,由長(zhǎng)時(shí)間無(wú)響應(yīng)縮降至1秒左右完成;



總結(jié)


本篇文章主要給大家介紹了借助精細(xì)化運(yùn)維平臺(tái)輔助優(yōu)化的總體流程,當(dāng)遇到性能方面的問(wèn)題時(shí),我們可以借助現(xiàn)場(chǎng)已有平臺(tái)工具的各個(gè)分析模塊來(lái)快速的發(fā)現(xiàn)問(wèn)題、分析定位并針對(duì)性的優(yōu)化,提高工作效率的同時(shí)也較大程度的縮短了利用傳統(tǒng)方式處理問(wèn)題的時(shí)間,做到精細(xì)化運(yùn)維。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/130203.html

相關(guān)文章

  • <轉(zhuǎn)載>圖片流量節(jié)省60%:基于CDNsharpP自適應(yīng)圖片技術(shù)實(shí)踐

    摘要:開(kāi)啟驗(yàn)證上傳一張新圖片,使用手安卓版本訪問(wèn)已支持域名的圖片,如果請(qǐng)求帶了,檢查返回圖片格式是否為如果舊的圖片未按預(yù)期返回,返回了或原圖可能是結(jié)點(diǎn)緩存,正常天后過(guò)期回源則會(huì)返回圖片。 對(duì)于圖片較多的網(wǎng)站,本文結(jié)合具體案例給出了如何基于CDN的sharpP自適應(yīng)圖片無(wú)痛接入方案,據(jù)統(tǒng)計(jì)效果可在原圖基礎(chǔ)上節(jié)省60%-75%的流量。作者:陳忱 出處:騰云閣文章 目前移動(dòng)端運(yùn)營(yíng)素材大部分依賴圖...

    JerryZou 評(píng)論0 收藏0
  • “怎么做好云遷移”? 深藍(lán)云海資深架構(gòu)師給你答案

    摘要:基于云遷移的三個(gè)階段細(xì)分為八個(gè)主要步驟,評(píng)估階段主要包括項(xiàng)目啟動(dòng)現(xiàn)狀梳理以及應(yīng)用系統(tǒng)關(guān)聯(lián)關(guān)系分析三個(gè)步驟,設(shè)計(jì)階段包括云架構(gòu)優(yōu)化設(shè)計(jì)和云遷移方案設(shè)計(jì),實(shí)施階段包括目標(biāo)架構(gòu)遷移演練及實(shí)施和試運(yùn)行三個(gè)步驟。 在云計(jì)算市場(chǎng)規(guī)模不斷擴(kuò)大的大背景下,云遷移的需求越來(lái)越大且面臨挑戰(zhàn)。云遷移不是一個(gè)遷移軟件工具,而是一種服務(wù)。前IBM資深架構(gòu)師姜亞杰從云遷移的三個(gè)階段、四個(gè)維度到八個(gè)步驟的方法,簡(jiǎn)述...

    kk_miles 評(píng)論0 收藏0
  • 智能支付穩(wěn)定性測(cè)試實(shí)戰(zhàn)

    摘要:主要介紹了美團(tuán)智能支付業(yè)務(wù)在穩(wěn)定性方向遇到的挑戰(zhàn),并重點(diǎn)介紹在穩(wěn)定性測(cè)試中的一些方法與實(shí)踐。其中,智能支付作為新擴(kuò)展的業(yè)務(wù)場(chǎng)景,去年也成為了美團(tuán)增速最快的業(yè)務(wù)之一。 本文根據(jù)美團(tuán)高級(jí)測(cè)試開(kāi)發(fā)工程師勛偉在美團(tuán)第43期技術(shù)沙龍美團(tuán)金融千萬(wàn)級(jí)交易系統(tǒng)質(zhì)量保障之路的演講整理而成。主要介紹了美團(tuán)智能支付業(yè)務(wù)在穩(wěn)定性方向遇到的挑戰(zhàn),并重點(diǎn)介紹QA在穩(wěn)定性測(cè)試中的一些方法與實(shí)踐。 背景 美團(tuán)支付承載...

    The question 評(píng)論0 收藏0
  • 用AI創(chuàng)造AI,人工智能無(wú)代碼時(shí)代來(lái)臨

    摘要:無(wú)代碼時(shí)代來(lái)臨業(yè)務(wù)問(wèn)題,而不只是機(jī)器學(xué)習(xí)我們希望企業(yè)可以用的時(shí)間來(lái)解決業(yè)務(wù)問(wèn)題,而不是機(jī)器學(xué)習(xí)問(wèn)題,談到整個(gè)人工智能和數(shù)據(jù)行業(yè)的未來(lái)發(fā)展時(shí),黃一文這樣說(shuō)道。 showImg(https://segmentfault.com/img/remote/1460000018912276); 瑪麗·雪萊在創(chuàng)作世界上第一部科幻小說(shuō)《科學(xué)怪人》(又譯:弗蘭肯斯坦)的時(shí)候,恐怕沒(méi)法預(yù)見(jiàn)到在一個(gè)多世紀(jì)后...

    dreamans 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<