使用分布式IO模塊對(duì)提升IO處理速度有什么作用?

IO處理速度在過(guò)往包括現(xiàn)在總被人津津樂(lè)道,而分布式IO模塊的出現(xiàn)能夠從一定的方面來(lái)強(qiáng)化這一領(lǐng)域。凌科發(fā)現(xiàn)服務(wù)器的IO處理能力越發(fā)表現(xiàn)出瓶頸,而提升其處理能力的方法之一就包含了使用分布式文件系統(tǒng)。

單個(gè)IO操作:

當(dāng)控制磁盤(pán)的控制器接到操作系統(tǒng)的讀IO操作指令的時(shí)候,控制器就會(huì)給磁盤(pán)發(fā)出一個(gè)讀數(shù)據(jù)的指令,并同時(shí)將要讀取的數(shù)據(jù)塊的地址傳遞給磁盤(pán),然后磁盤(pán)會(huì)將讀取到的數(shù)據(jù)傳給控制器,并由控制器返回給操作系統(tǒng),完成一個(gè)寫(xiě)IO的操作;同樣的,一個(gè)寫(xiě)IO的操作也類似,控制器接到寫(xiě)的IO操作的指令和要寫(xiě)入的數(shù)據(jù),并將其傳遞給磁盤(pán),磁盤(pán)在數(shù)據(jù)寫(xiě)入完成之后將操作結(jié)果傳遞回控制器,再由控制器返回給操作系統(tǒng),完成一個(gè)寫(xiě)IO的操作。單個(gè)IO操作指的就是完成一個(gè)寫(xiě)IO或者是讀IO的操作。

熟悉數(shù)據(jù)庫(kù)的人都會(huì)有這么一個(gè)概念,那就是數(shù)據(jù)庫(kù)存儲(chǔ)有個(gè)基本的塊大小(Block Size),不管是SQL Server還是Oracle,默認(rèn)的塊大小都是8KB,就是數(shù)據(jù)庫(kù)每次讀寫(xiě)都是以8k為單位的。那么對(duì)于數(shù)據(jù)庫(kù)應(yīng)用發(fā)出的固定8k大小的單次讀寫(xiě)到了寫(xiě)磁盤(pán)這個(gè)層面會(huì)是怎么樣的呢,就是對(duì)于讀寫(xiě)磁盤(pán)來(lái)說(shuō)單個(gè)IO操作操作數(shù)據(jù)的大小是多少呢,是不是也是一個(gè)固定的值?答案是不確定。首先操作系統(tǒng)為了提高 IO的性能而引入了文件系統(tǒng)緩存,系統(tǒng)會(huì)根據(jù)請(qǐng)求數(shù)據(jù)的情況將多個(gè)來(lái)自IO的請(qǐng)求先放在緩存里面,然后再一次性的提交給磁盤(pán),也就是說(shuō)對(duì)于數(shù)據(jù)庫(kù)發(fā)出的多個(gè)8K數(shù)據(jù)塊的讀操作有可能放在一個(gè)磁盤(pán)讀IO里就處理了。

IO響應(yīng)時(shí)間也被稱為IO延時(shí)(IO Latency),IO響應(yīng)時(shí)間就是從操作系統(tǒng)內(nèi)核發(fā)出的一個(gè)讀或者寫(xiě)的IO命令到操作系統(tǒng)內(nèi)核接收到IO回應(yīng)的時(shí)間,注意不要和單個(gè)IO時(shí)間混淆了,單個(gè)IO時(shí)間僅僅指的是IO操作在磁盤(pán)內(nèi)部處理的時(shí)間,而IO響應(yīng)時(shí)間還要包括IO操作在IO等待隊(duì)列中所花費(fèi)的等待時(shí)間。

分布式IO模塊的作用:采用了分布式I/O模塊,就可以通過(guò)一條通信線和PLC連接,節(jié)省了布線、節(jié)省了PLC自身的I/O點(diǎn)數(shù),系統(tǒng)的速度也就得到了強(qiáng)化,對(duì)于IO處理速度,是有著積向上的意義和作用的。

凌科專門(mén)分布式IO模塊的產(chǎn)品,其他包括現(xiàn)場(chǎng)總線、遠(yuǎn)程IO等工控系統(tǒng)領(lǐng)域的模塊產(chǎn)品,歡迎具體了解咨詢我們!

返回列表