[wsl2] filesystem performance is much slower than wsl1 in /mnt
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 33.7k
- Forks
- 1.8k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 116
Description
I decided to open this as a separate issue because although it's related to the generic issue of filesystem performance it's directly related to WSL 2 while the other issues are for WSL 1 and it's showing very conflicting results.
-
Your Windows build number: (Type
verat a Windows Command Prompt)
Version 10.0.18917 Build 18917 -
What you're doing and what's happening:
I'm testing filesystem write speed in /mnt using dd command. Performing the following tests
WSL2
root@LUCIANO-PC:/home/# dd if=/dev/zero of=/mnt/e/testfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 25.939 s, 40.4 MB/s
WSL1
root@LUCIANO-PC:/home/# dd if=/dev/zero of=/mnt/e/testfile bs=1M count=20000
20000+0 records in
20000+0 records out
20971520000 bytes (21 GB, 20 GiB) copied, 47.4897 s, 442 MB/s
On / it's actually the reverse. WSL2 is more than 2 times faster than WSL1.
- What's wrong / what should be happening instead:
I would expect the filesystem performance in /mnt to at least be on the same level but it's over 10 times slower.
Another interesting fact is that if I mount the same drive as a cifs share I get 3x performance
WSL 2 (cifs share)
root@LUCIANO-PC:/mnt/sambae# dd if=/dev/zero of=/mnt/sambae/testfile bs=1M count=10000
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 84.001 s, 125 MB/s
An update of the current status because it's way too hidden in this thread.
Latest status report: https://github.com/microsoft/WSL/issues/4197#issuecomment-604592340_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported dd writes to /mnt on WSL2 and compare them with WSL1 and the CIFS-share results shown in the issue. Review the latest status report in issue comment 604592340 and use the reported throughput differences to identify the affected filesystem path. Done means explaining and correcting the WSL2 /mnt performance regression with evidence that the comparison improves.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- operating-systems, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100