成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

記一次SPA回放緩慢分析

IT那活兒 / 2714人閱讀
記一次SPA回放緩慢分析


現(xiàn)象



最近在做一套核心庫的的spa回放,共分為3個(gè)任務(wù)來跑,其中任務(wù)1,2跑起來較慢,預(yù)估時(shí)間要20多少小時(shí)。實(shí)際跑下來將近24個(gè)小時(shí)。按照以往經(jīng)驗(yàn),這點(diǎn)sql最多幾個(gè)小時(shí)就該跑完的,所以,老司機(jī)的擼感告訴自己,應(yīng)該是出問題了。再次核查統(tǒng)計(jì)信息,索引等信息,發(fā)現(xiàn)都正常。這說明數(shù)據(jù)準(zhǔn)備這塊確實(shí)沒問題,看來問題應(yīng)該出現(xiàn)在sql上。只能等spa報(bào)告跑出來分析報(bào)告了。




分析



主要分析了任務(wù)1,2跑出的buffer_gets報(bào)告,下面這條語句引起了我的注意。



==>時(shí)間上比生產(chǎn)的平均值要高,達(dá)到了20s。邏輯讀上生產(chǎn)的平均值是一百多萬,測試環(huán)境中更是達(dá)到了兩百多萬,但返回的行數(shù)卻很少。很顯然這條語句在生產(chǎn)上性能本就存在問題,但可能因調(diào)用量少,問題沒有凸顯出來。



==》這類語句在spa任務(wù)1,2中的sql集中存在較多,分別為五千多,六千多。按每個(gè)語句20s執(zhí)行,這類語句執(zhí)行消耗的時(shí)間可估算總和到幾十個(gè)小時(shí)。



==》把這條語句多帶帶拿出來進(jìn)行優(yōu)化,重新收集統(tǒng)計(jì)信息,新建索引等方法,執(zhí)行計(jì)劃達(dá)不到想要的結(jié)果,邏輯讀依然達(dá)到了兩百多萬。


==》最后只能改寫這條語句了,注意到這里使用了hint關(guān)鍵字/*+ORDERED */,該ORDERED提示使Oracle按照表在FROM子句中出現(xiàn)的順序聯(lián)接表。懷疑是該hint導(dǎo)致執(zhí)行計(jì)劃無法最優(yōu)。手工把該hint去掉后,測試環(huán)境邏輯讀降為兩千多。




解決方案



  1. 如果要綁定sqlprofile,這一類語句太多了,即使綁定也一定都適用此類語句。


  2. 可以考慮將此類語句從SQL集中去掉,但去掉的話就無法驗(yàn)證是否是這一批語句引起的問題。


  3. 19c環(huán)境我們可以使用OPTIMIZER_IGNORE_HINTS參數(shù)來忽略sql語句中使用的hint。默認(rèn)為false,我們在system級(jí)別調(diào)成true,再跑下spa任務(wù)。





優(yōu)化效果




==》重新跑spa任務(wù)后,系統(tǒng)估算任務(wù)1,2在2個(gè)小時(shí)內(nèi)能跑完,實(shí)際跑下來也確認(rèn)如此,速度提升了近10倍。

==》最新跑出的報(bào)告,該語句對比性能提升顯著,執(zhí)行時(shí)間在0.02s左右,邏輯讀三千左右。




總結(jié)



SPA任務(wù)跑的慢,說明語句可能存在問題。那么本次的原因是因業(yè)務(wù)語句使用hint導(dǎo)致,根本上解決此問題還需要和業(yè)務(wù)側(cè)溝通整改。另外補(bǔ)充下,OPTIMIZER_IGNORE_HINTS參數(shù)對現(xiàn)有綁定sqlprofile的語句不影響,這里不再詳細(xì)闡述。

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130184.html

相關(guān)文章

  • 一次 JAVA 的內(nèi)存泄露分析

    摘要:展示如下場景再現(xiàn)經(jīng)過分析,最后我們定位到是使用產(chǎn)生的內(nèi)存泄露問題。下面通過一個(gè),來簡單講下具體內(nèi)存泄露的原因。這一次的內(nèi)存泄露問題算是解決了??偨Y(jié)關(guān)于內(nèi)存泄露問題在第一次排查時(shí),往往是有點(diǎn)不知所措的。 記一次 JAVA 的內(nèi)存泄露分析 摘要:本文屬于原創(chuàng),歡迎轉(zhuǎn)載,轉(zhuǎn)載請保留出處:https://github.com/jasonGeng88/blog 當(dāng)前環(huán)境 jdk == 1.8 ...

    Tecode 評(píng)論0 收藏0
  • Webpack下莫名其妙出現(xiàn)的jQuery與報(bào)錯(cuò),一次奇妙的Debug旅程

    摘要:在過程中,發(fā)現(xiàn)的報(bào)錯(cuò)是在中兩個(gè)頁面的無刷切換中出現(xiàn)的??聪蚓W(wǎng)址等等網(wǎng)址的前綴是,這個(gè)是谷歌瀏覽器插件的前綴。難不成,這個(gè)文件是谷歌瀏覽器插件的于是看向了中間的那一串神秘字符串。 場景重現(xiàn) 項(xiàng)目是一個(gè)SPA,使用了Vue+Vue-Router+Webpack+jQuery。報(bào)錯(cuò)的場景如下:showImg(http://7xk109.com1.z0.glb.clouddn.com/blog...

    Scliang 評(píng)論0 收藏0
  • 一次基于vue的spa多頁簽實(shí)踐經(jīng)驗(yàn)

    摘要:然后類似一樣我的命名是可以在頁面的任何地方使用,如果你對具體的實(shí)現(xiàn)方法有興趣,歡迎點(diǎn)擊本文結(jié)尾的鏈接,去我的倉庫上查看。 前言 最近收到一個(gè)這樣的需求,要求做一個(gè)基于 vue 和 element-ui 的通用后臺(tái)框架頁,具體要求如下: 要求通用性高,需要在后期四十多個(gè)子項(xiàng)目中使用,所以大部分地方都做成可配置的. 要求做成腳手架的形式.可以 npm 安裝 要求實(shí)現(xiàn)多頁簽,并且可以通過瀏...

    ispring 評(píng)論0 收藏0
  • 一次基于vue的spa多頁簽實(shí)踐經(jīng)驗(yàn)

    摘要:然后類似一樣我的命名是可以在頁面的任何地方使用,如果你對具體的實(shí)現(xiàn)方法有興趣,歡迎點(diǎn)擊本文結(jié)尾的鏈接,去我的倉庫上查看。 前言 最近收到一個(gè)這樣的需求,要求做一個(gè)基于 vue 和 element-ui 的通用后臺(tái)框架頁,具體要求如下: 要求通用性高,需要在后期四十多個(gè)子項(xiàng)目中使用,所以大部分地方都做成可配置的. 要求做成腳手架的形式.可以 npm 安裝 要求實(shí)現(xiàn)多頁簽,并且可以通過瀏...

    張遷 評(píng)論0 收藏0
  • 記一SPA的SEO歷程:Html5 History Api 大顯神通!

    摘要:用戶體驗(yàn)的需求,完美地保留了瀑布流模態(tài)框的閱讀模式。不支持的話,就不攔截瀑布流文塊的,也就是直接讓其跳轉(zhuǎn)。 背景 想當(dāng)年,我做了一個(gè)新媒體網(wǎng)站項(xiàng)目(AIISPO,已下線)。跟普通資訊網(wǎng)站不一樣的是,老板要求PC端前臺(tái)的文章閱讀模式一定得是瀑布流+模態(tài)框。瀑布流指的是以瀑布流的形式將文章羅列出來,而模態(tài)框則指的是點(diǎn)擊瀑布流中代表文章的某個(gè)文塊時(shí),直接在當(dāng)前頁面彈出模態(tài)框來顯示文章正文。 ...

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

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

0條評(píng)論

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