The kernel caches I/O read from incoming block devices in free RAM. Unless your file is very large you are probably hitting the cached data in RAM and not actually causing any I/O.
A very quick search and reading this Stack Overflow answer reveals that this might do it:
sync && echo 1 > /proc/sys/vm/drop_caches
so I would try issuing those command before the command that performs the I/O.