Yes, you'd think they would find a way to get SSD/disk to NFS without using main system RAM, so the moving of dirty pages to NFS is not a conflict with processing or moving pages to and from local disk and RAM. The one central bus for all theme can get overwhelmed. But that is hot rod computing for you, it takes a 100 horse power bottle to hold a 100 horsepower genie. It is rare that making one part faster does not leave one at the mercy of some other part: RAM banked not interlaced, memory controllers, busses, disk controllers, cables and fibers, cache onboard controllers or disks, and of course, latency destroying the value of bandwidth.
Since the Oracle RDBMS is at the center of the storm, they should be a rich resource for the right solutions.
Suppose a sort of serial churn of a huge set, where a huge table is read and new pages are sent to another table. What will the flow top out at, if we are moving
- the input pages from NFS to RAM,
- RAM to CPU,
- RAM to local disk, then discarded as old, and
- writing new pages CPU to RAM,
- RAM to local disk,
- local disk to RAM and
- RAM to NFS.
Each page through is: 3 RAM writes, 4 RAM reads, one CPU read (assuming one CPU or CPU group caches it through all processing), one CPU write, 2 local disk writes, 1 local disk read, one network read and one network write. Which is the bottleneck? Which comes in second, third, and by how much?