I'm debugging a system that is accessing files on AWS EFS, where the EFS reaches is peak throughput because of IO operations. I noticed that the application is sometime reading memory mapped files in the EFS, specifically using python as follows:
data = mmap.mmap(fileno, 0, mmap.MAP_PRIVATE)
The application is reading many parts of the data in different ways and positions. I was wondering what is happening behind the scenes in this case. Is every access to data
results in an EFS/NFS api call? or does it read everything all at once in the beginning? How is the IO access managed in memory mapped files, especially when mapping files over NFS.