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