Skip to content

Using development tools on NFS file shares is slow #2490

@cptanalatriste

Description

@cptanalatriste

✅ Checklist

  • I have searched open and closed issues for duplicates.
  • This is a problem observed when using a Data Safe Haven.
  • I can reproduce this with the latest version.
  • I have read through the documentation.
  • This isn't an open-ended question (open a discussion if it is).

💻 System information

  • Operating System: macOS
  • Data Safe Haven version: v5.6.0
  • Browser details: Google Chrome

🚫 Describe the problem

Our users reported several performance problems when running development tools (i.e. Codium, Python Virtual Environments) on the TRE. We have found online multiple reports that this happens when coding is performed from NFS file shares (as per the TRE user model):

https://serverfault.com/questions/1127070/very-slow-experience-with-students-nfs-development-tools
https://www.reddit.com/r/sysadmin/comments/120yk9j/students_nfs_development_tools_terribly_slow/

We have run some performance tests on the NFS file shares available from the workspace (like /home/) following Azure guidance. Our tests using fio (using 5G files) show the following:

  • Sequential Bandwith:
    • Reads from /home: 74.4 MiB/s
    • Reads from OS disk /mnt/scratch: 158MiB/s
    • Writes to /home: 263MiB/s
    • Writes to /mnt/scratch: 195MiB/s
  • Sequential IOPS:
    • Reads from /home: 134 IOPS
    • Reads from /mnt/scratch: 9186 IOPS
    • Writes to /home: 8245 IOPS
    • Writes to /mnt/scratch: 9186 IOPS
  • Random IOPS:
    • Reads from /home: 113 IOPS
    • Reads from /mnt/scratch: 9185 IOPS
    • Writes to /home: 15.6K IOPS
    • Writes to /mnt/scratch: 9165 IOPS

These suggest reading from the NFS file share is order of magnitude slower, when compared to reading from the OS disk.

🚂 Workarounds or solutions

According to our tests, and the posts we found online, users can work on disk, and use Git to access their code among workspaces. At the moment, TREs only support user access to the temporary disk of SKUs that support them (see: #2432 ).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugProblem when deploying a Data Safe Haven.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions