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