使用分布式IO模塊對(duì)提升IO處理速度有什么作用?
IO處理速度在過往包括現(xiàn)在總被人津津樂道,而分布式IO模塊的出現(xiàn)能夠從一定的方面來強(qiáng)化這一領(lǐng)域。凌科發(fā)現(xiàn)服務(wù)器的IO處理能力越發(fā)表現(xiàn)出瓶頸,而提升其處理能力的方法之一就包含了使用分布式文件系統(tǒng)。
單個(gè)IO操作:
當(dāng)控制磁盤的控制器接到操作系統(tǒng)的讀IO操作指令的時(shí)候,控制器就會(huì)給磁盤發(fā)出一個(gè)讀數(shù)據(jù)的指令,并同時(shí)將要讀取的數(shù)據(jù)塊的地址傳遞給磁盤,然后磁盤會(huì)將讀取到的數(shù)據(jù)傳給控制器,并由控制器返回給操作系統(tǒng),完成一個(gè)寫IO的操作;同樣的,一個(gè)寫IO的操作也類似,控制器接到寫的IO操作的指令和要寫入的數(shù)據(jù),并將其傳遞給磁盤,磁盤在數(shù)據(jù)寫入完成之后將操作結(jié)果傳遞回控制器,再由控制器返回給操作系統(tǒng),完成一個(gè)寫IO的操作。單個(gè)IO操作指的就是完成一個(gè)寫IO或者是讀IO的操作。
熟悉數(shù)據(jù)庫的人都會(huì)有這么一個(gè)概念,那就是數(shù)據(jù)庫存儲(chǔ)有個(gè)基本的塊大小(Block Size),不管是SQL Server還是Oracle,默認(rèn)的塊大小都是8KB,就是數(shù)據(jù)庫每次讀寫都是以8k為單位的。那么對(duì)于數(shù)據(jù)庫應(yīng)用發(fā)出的固定8k大小的單次讀寫到了寫磁盤這個(gè)層面會(huì)是怎么樣的呢,就是對(duì)于讀寫磁盤來說單個(gè)IO操作操作數(shù)據(jù)的大小是多少呢,是不是也是一個(gè)固定的值?答案是不確定。首先操作系統(tǒng)為了提高 IO的性能而引入了文件系統(tǒng)緩存,系統(tǒng)會(huì)根據(jù)請(qǐng)求數(shù)據(jù)的情況將多個(gè)來自IO的請(qǐng)求先放在緩存里面,然后再一次性的提交給磁盤,也就是說對(duì)于數(shù)據(jù)庫發(fā)出的多個(gè)8K數(shù)據(jù)塊的讀操作有可能放在一個(gè)磁盤讀IO里就處理了。
IO響應(yīng)時(shí)間也被稱為IO延時(shí)(IO Latency),IO響應(yīng)時(shí)間就是從操作系統(tǒng)內(nèi)核發(fā)出的一個(gè)讀或者寫的IO命令到操作系統(tǒng)內(nèi)核接收到IO回應(yīng)的時(shí)間,注意不要和單個(gè)IO時(shí)間混淆了,單個(gè)IO時(shí)間僅僅指的是IO操作在磁盤內(nèi)部處理的時(shí)間,而IO響應(yīng)時(shí)間還要包括IO操作在IO等待隊(duì)列中所花費(fèi)的等待時(shí)間。
分布式IO模塊的作用:采用了分布式I/O模塊,就可以通過一條通信線和PLC連接,節(jié)省了布線、節(jié)省了PLC自身的I/O點(diǎn)數(shù),系統(tǒng)的速度也就得到了強(qiáng)化,對(duì)于IO處理速度,是有著積向上的意義和作用的。
凌科專門分布式IO模塊的產(chǎn)品,其他包括現(xiàn)場(chǎng)總線、遠(yuǎn)程IO等工控系統(tǒng)領(lǐng)域的模塊產(chǎn)品,歡迎具體了解咨詢我們!