亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: linux環(huán)境下write怪現(xiàn)象(寫入500M耗時(shí)20S) [打印本頁]

作者: cp3alai    時(shí)間: 2016-05-11 19:38
標(biāo)題: linux環(huán)境下write怪現(xiàn)象(寫入500M耗時(shí)20S)
本帖最后由 cp3alai 于 2016-05-11 19:40 編輯

今天遇到了一個(gè)怪現(xiàn)象,因?yàn)槲易詈鬀]有排查到原因,只能盡力描述,希望遇到類似情況的大牛們提供一個(gè)思路.
我所作的是一個(gè)頻繁文件寫入的系統(tǒng),之前都好好的,但是今天突然各種丟包,最后定位到,系統(tǒng)調(diào)用write的時(shí)候,僅僅寫入500M,竟然會(huì)卡住10s ~ 20s.
我的環(huán)境是CentOS6.5, 文件系統(tǒng)是xfs, 3個(gè)2T盤做的raid0,通過dd測試,磁盤寫入性能可以達(dá)到380M/s .
就像問下各位大神,有沒有遇到過類似情況的,你們是怎么處理的?
謝謝!!!
也希望即使沒有遇到過類似問題的同學(xué),也能過來發(fā)表一下自己的見解,不勝感激.
作者: MMMIX    時(shí)間: 2016-05-11 21:38
回復(fù) 1# cp3alai


    你是怎么寫的?

曾經(jīng)碰到一個(gè)問題,程序一旦打開log,就變得劇慢無比,最后發(fā)現(xiàn)是寫log的時(shí)候頻繁 flush,導(dǎo)致系統(tǒng)調(diào)用不但量大增多了,而且耗時(shí)也增加了。
作者: cp3alai    時(shí)間: 2016-05-12 10:27
我自己弄了兩個(gè)500M的緩沖區(qū),有數(shù)據(jù)的時(shí)候就往其中一個(gè)放,放滿以后就調(diào)用write去同步文件,沒有什么特別的地方,然后write就會(huì)卡頓20s左右,無論是xfs還是ext4都試過了,都會(huì)有這個(gè)問題.回復(fù) 2# MMMIX


   
作者: MMMIX    時(shí)間: 2016-05-12 22:43
回復(fù) 3# cp3alai


    用 dd 測試一下存儲(chǔ)寫入速度呢?
作者: cp3alai    時(shí)間: 2016-05-13 16:05
測過的,寫入速度384M/s,單獨(dú)寫了一個(gè)測試程序:往文件里面寫500M,僅用0.4s.回復(fù) 4# MMMIX


   
作者: MMMIX    時(shí)間: 2016-05-13 18:09
回復(fù) 5# cp3alai


    那估計(jì)就只能跟下程序看看是為什么停住了。
作者: lolizeppelin    時(shí)間: 2016-05-13 18:12
本帖最后由 lolizeppelin 于 2016-05-13 18:15 編輯

上代碼  打log

500M是什么樣子的500M

一次性寫入500M 還是一次寫一寫很多個(gè)文件加起來500M

有沒有并發(fā)寫
作者: cp3alai    時(shí)間: 2016-05-23 12:13
我試著單步調(diào)試過,一次寫500M程序很配合的就停在了write這里20s左右,著實(shí)怪異.
MMMIX 發(fā)表于 2016-05-13 18:09
回復(fù) 5# cp3alai

作者: cp3alai    時(shí)間: 2016-05-23 12:25
我單步調(diào)試過的,程序就是卡在write調(diào)用這里.的確存在并發(fā)寫的情況.三個(gè)寫文件線程,線程A,一次寫入500M,線程B,C一次寫入300M,磁盤IO 300M/S, 即使是這三個(gè)線程同時(shí)并發(fā)執(zhí)行寫操作,這個(gè)現(xiàn)象也太過怪異.沒有理由write會(huì)卡頓20S左右的時(shí)間.
lolizeppelin 發(fā)表于 2016-05-13 18:12
上代碼  打log

500M是什么樣子的500M

作者: MMMIX    時(shí)間: 2016-05-23 14:30
cp3alai 發(fā)表于 2016-05-23 12:25
我單步調(diào)試過的,程序就是卡在write調(diào)用這里.的確存在并發(fā)寫的情況.三個(gè)寫文件線程,線程A,一次寫入500M,線程 ...


涉及并發(fā)就不好說了。如果可以的話,最好是先把并發(fā)停掉/去掉,然后再看看,估計(jì)就正常了。
作者: cp3alai    時(shí)間: 2016-05-23 14:39
你說的對,我當(dāng)時(shí)從理論上分析,即便同時(shí)并發(fā)也不會(huì)有問題,所以就沒有試試.但是其實(shí)還是應(yīng)該停掉別的線程試一試的.
MMMIX 發(fā)表于 2016-05-23 14:30
涉及并發(fā)就不好說了。如果可以的話,最好是先把并發(fā)停掉/去掉,然后再看看,估計(jì)就正常了。

作者: liuxuejin    時(shí)間: 2016-05-25 13:59
可以用systemtap看看
作者: cp3alai    時(shí)間: 2016-05-25 16:15
謝謝,我找時(shí)間復(fù)現(xiàn)一下.現(xiàn)場環(huán)境,不容易找機(jī)會(huì)...
liuxuejin 發(fā)表于 2016-05-25 13:59
可以用systemtap看看

作者: lolizeppelin    時(shí)間: 2016-05-26 18:02
本帖最后由 lolizeppelin 于 2016-05-26 18:09 編輯

不要多線程并發(fā)寫

專門弄個(gè)寫入的線程

python的進(jìn)程里有全局鎖,多線程只能單核心,各個(gè)線程間切換回不停的調(diào)用這個(gè)東西

寫入問題可能是頻繁切換導(dǎo)致中斷太多

你starace追蹤一下看看
作者: liuxuejin    時(shí)間: 2016-05-29 23:48
回復(fù) 13# cp3alai


    尤其是有ext4的jdb2日志系統(tǒng)。及其容易寫延遲。你可以試試關(guān)閉。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2