真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

LOGFILESYNC概述(第四篇)-創(chuàng)新互聯(lián)

LOG FILE SYNC調(diào)優(yōu)

作為通用的log file sync的診斷、調(diào)優(yōu)方法,一般可以通過(guò)診斷系統(tǒng)的IO延遲為多大,CPU資源是否充足來(lái)判斷哪里出現(xiàn)了問(wèn)題。

創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的中國(guó)電信成都樞紐中心服務(wù)

IO延遲的診斷、調(diào)優(yōu)

糟糕的IO性能往往是log file sync過(guò)高的罪魁禍?zhǔn)?,DBA應(yīng)該盡量把重做日志放在單獨(dú)的IO設(shè)備上。雖然lgwr可以使用異步IO,但是日志文件打開(kāi)的時(shí)候帶有DSYNC標(biāo)志,日志必須被刷新到磁盤(pán),commit操作才能返回(如果主機(jī)有RAID卡,則要刷新到RAID卡的CACHE中,如果使用的是存儲(chǔ),則要刷新到存儲(chǔ)的CACHE中)??梢酝ㄟ^(guò)log file parallel write這個(gè)后臺(tái)進(jìn)程等待事件來(lái)輔助診斷l(xiāng)og file sync等待時(shí)間過(guò)大的問(wèn)題。如果log file parallel write等待時(shí)間過(guò)大,那么你系統(tǒng)的IO很可能出現(xiàn)了問(wèn)題,但是就像我前面提到的,log file parallel write過(guò)大也可能是由于需要寫(xiě)入的日志量過(guò)大導(dǎo)致的。優(yōu)化IO的手段一般為:RAID的方式不要使用RAID5,最好為RAID10,如果使用PC本地盤(pán),那么關(guān)閉RAID卡的讀CACHE,全部用作寫(xiě)CACHE,如果使用的是存儲(chǔ),可以用2-4塊盤(pán)做raid10作為日志的磁盤(pán)組,對(duì)于中高端存儲(chǔ),一般存儲(chǔ)機(jī)頭的CACHE也比較大,IO性能基本能得到保障。

可以嘗試使用SSD來(lái)存放Oracle的重做日志文件,雖然業(yè)界不太推薦使用,但是隨著SSD對(duì)于寫(xiě)放大算法的優(yōu)化、Wear leveling、Over-provisioning、GC策略的不斷成熟,DBA可以嘗試把重做日志放在SSD設(shè)備上來(lái)提升IO性能。使用SSD存放重做日志的時(shí),最好使用大廠商的SSD產(chǎn)品,如果預(yù)算沒(méi)問(wèn)題推薦選擇SLC類型的SSD,并且在SSD盤(pán)上為日志預(yù)留足夠多的空閑空間,因?yàn)閷?duì)于SSD產(chǎn)品來(lái)說(shuō),預(yù)留空間越多,SSD的壽命也會(huì)越長(zhǎng),性能相對(duì)也會(huì)越好。

CPU資源的診斷、調(diào)優(yōu)

如果CPU資源非常緊缺,Lgwr獲得不了CPU資源,會(huì)導(dǎo)致系統(tǒng)調(diào)用變慢,增加log file sync的等待時(shí)間,就像我們上面提到的,system call、信號(hào)量、IO call都依賴著CPU資源。如果log file sync的時(shí)間與log file parallel write的時(shí)間差異過(guò)大,則可能系統(tǒng)的CPU資源出現(xiàn)了不足。solaris下還可以通過(guò)操作系統(tǒng)工具prstat來(lái)診斷l(xiāng)gwr進(jìn)程的cpu調(diào)度延遲時(shí)間。其他平臺(tái)不能直接針對(duì)進(jìn)程進(jìn)行跟蹤診斷,可以通過(guò)系統(tǒng)LOAD,CPU使用率來(lái)輔助診斷,如CPU使用率超過(guò)百分之六十可能就會(huì)造成一定程度的調(diào)度延遲、CPU運(yùn)行隊(duì)列超過(guò)邏輯CPU的CORE數(shù)就有調(diào)度延遲的風(fēng)險(xiǎn)等等。系統(tǒng)的CPU資源出現(xiàn)瓶頸是比較棘手的,因?yàn)閾Q硬盤(pán)相對(duì)來(lái)說(shuō)并不是件麻煩事,但是換CPU就不同了,其難度一般會(huì)比較大,最終可能的結(jié)果就是換主機(jī)。不過(guò)也有一些手段可以嘗試,例如調(diào)高LGWR的優(yōu)先級(jí),可以通過(guò)數(shù)據(jù)庫(kù)參數(shù)_high_priority_processes進(jìn)行,或者操作系統(tǒng)命令renice命令進(jìn)行(前者可能更好點(diǎn)),如果系統(tǒng)CPU非常富足,也可以考慮用taskset等工具為L(zhǎng)gwr進(jìn)程設(shè)置一個(gè)獨(dú)占的CPU(core)。

調(diào)優(yōu)應(yīng)用

有時(shí)候更為有效的手段可能不是拼命的調(diào)優(yōu)數(shù)據(jù)庫(kù)、調(diào)優(yōu)硬件,比如:是不是可以合并事務(wù),也就降低了LOG FILE SYNC的次數(shù),變相的提高了系統(tǒng)事務(wù)的效率。但是為了提升系統(tǒng)的事務(wù)數(shù),而去犧牲業(yè)務(wù)的完整性,需要仔細(xì)思考是不是需要這么做,這樣做是不是有什么風(fēng)險(xiǎn)。如果在不犧牲業(yè)務(wù)完整性的情況下,可以合并一些事務(wù),那么起的效果還是立竿見(jiàn)影的。

數(shù)據(jù)庫(kù)調(diào)優(yōu)

l 通過(guò)減少事務(wù)的日志量可以減輕lgwr的工作量,如:減少不必要字段的更新,減少不必要的索引,不使用CLOB字段等等。

l 減少日志組內(nèi)的member數(shù)量。一般生產(chǎn)環(huán)境都會(huì)為日志組的每個(gè)member保留2份副本,存儲(chǔ)于不同的磁盤(pán)或者存儲(chǔ)上。如果有可能,可以減少日志組內(nèi)的member數(shù)量,減輕Lgwr的工作量。

l 像備庫(kù)傳送日志采用異步模式。

內(nèi)存調(diào)優(yōu)

在AIX下,如果開(kāi)啟內(nèi)存預(yù)讀,對(duì)于提升TPS也是非常的明顯 dscrctl -n -b -s 1 。還有要密切關(guān)注系統(tǒng)的內(nèi)存使用狀況,如果系統(tǒng)出現(xiàn)SWAP,lgwr非??赡鼙籶aged out,也會(huì)導(dǎo)致lgwr響應(yīng)非常慢。

上述提供了一些調(diào)優(yōu)log file sync的思路,但是隨著系統(tǒng)并發(fā)事務(wù)數(shù)的增多,可能lgwr并不能足夠快的去通知大量等待提交的進(jìn)程。雖然在這個(gè)時(shí)候,并沒(méi)有出現(xiàn)CPU資源出現(xiàn)不足,IO也足夠快了,但是lgwr工作起來(lái)還是慢。上面我已經(jīng)提到了,在lgwr完成工作后需要通知等待提交的進(jìn)程,告訴它們提交已經(jīng)完成,可以干其它事了。如果等待提交的進(jìn)程過(guò)多,lgwr的工作就會(huì)越多,相應(yīng)的延遲就會(huì)越大。而且如果有大量進(jìn)程在等待log file sync,一旦lgwr寫(xiě)完成,它將通知這些進(jìn)程蘇醒,使它們重新進(jìn)入CPU運(yùn)行隊(duì)列,這個(gè)情形下,由于lgwr已經(jīng)工作了一段時(shí)間了(已經(jīng)占用了很多的CPU時(shí)間了),而前臺(tái)進(jìn)程已經(jīng)等待了一段時(shí)間了(等待LOG FILE SYNC),根據(jù)操作系統(tǒng)的默認(rèn)的調(diào)度策略,這種情況下,前臺(tái)進(jìn)程將會(huì)有更高的優(yōu)先級(jí)獲取CPU資源,而lgwr將可能由于CPU資源突發(fā)式的緊張而沒(méi)有獲取到CPU資源,導(dǎo)致系統(tǒng)的事務(wù)數(shù)有抖動(dòng),突然有很大的降低。因此我前面所建議的調(diào)高LGWR進(jìn)程優(yōu)先級(jí)的手段是值得嘗試的。


網(wǎng)頁(yè)名稱:LOGFILESYNC概述(第四篇)-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/gepdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部