Windows Server 2016 Slow Write Speeds on NVME SSD?

msvuze

New Member
Dec 4, 2016
10
0
1
49
I have a Samsung 950 PRO PCIe NVMe 512gb M.2.

I just installed Proxmox to test-out Windows Server 2016 in it.
I went with viostor because that's the only driver during the install windows accepted, expect for SATA and IDE but they are too slow.

Super fast read speeds!!! 6,550 MB/s.

But crazy slow write speeds! 128 MB/s.
4k is 2.13 MB's for both.

Only way to get normal speeds for reads/writes is to select SATA but then my speeds are about 450-500 MB/s.


Can someone please help me,

I'm a noob in all of this and I don't understand why the write speeds and cache are so slow.
I searched for hrs online but cannot find a solution.
I played around with SCSI Controller Type, Cache (write back), and some other settings but it really doesn't help.
 

Attachments

  • Screen Shot 2016-12-04 at 12.47.32 AM.png
    Screen Shot 2016-12-04 at 12.47.32 AM.png
    48 KB · Views: 56
Last edited:
The read speed is obviously bogus. Test with cache=no for best 1:1 performance.

What is your underlying storage type for your VM?
 
Tested it with cache =Off.
The Seq Read = 1400MB/s.
The Seq Write = 500MB/s.
The Seq Write is a bit faster but still nowhere where it should be (at around 1000+)
The 4k is still the same at 2MB/s.
Format I selected when creating VM was: QEMU image format (qcow2).
 
Last edited:
I just did an install using the Raw disk image and still the same results.

Update:
I tested with SATA and the Seq Write is up to 840MB/s.
But the 4k is still 18MB/s read and 28MB/s write. I tried setting cache to write-back make slow results.

Any other tips on how to speed up the write speeds and 4k ?
 
Last edited:
>>Any other tips on how to speed up the write speeds and 4k ?

buy a true datacenter ssd drive for fast sync write

some speed compare between dc and consumer drive:

https://www.sebastien-han.fr/blog/2...-if-your-ssd-is-suitable-as-a-journal-device/
Looking at that link I do have a datacenter ssd: Samsung SSD 950 PRO 512GB NVMe
I also have a Samsung SSD 950 Pro that is a consumer drive that I have on another proxmox server that I will test now just to compare.
But I think it's has something to do with proxmox.
 
Did you use RAW on ext4 or on LVM?

Did you also tried SCSI over virtio controller?

On LVM. Also just tested using SCSI over virtio same results, the write speed and 4k speeds are terrible.
(Thanks for your continued help)
 
LVM or LVMthin?

LVM is probably faster.
 
Looking at that link I do have a datacenter ssd: Samsung SSD 950 PRO 512GB NVMe
I also have a Samsung SSD 950 Pro that is a consumer drive that I have on another proxmox server that I will test now just to compare.
But I think it's has something to do with proxmox.

Yes, I already talked to Sebastien because the entry is bogus. 950 Pro is not a datacenter SSD - i have one too and benchmarked it also. It's dead slow for randomized IOs and therefore not applicable for journal stuff.

Have you tried to test the NVMe in Linux itself?
 
Yes, I already talked to Sebastien because the entry is bogus. 950 Pro is not a datacenter SSD - i have one too and benchmarked it also. It's dead slow for randomized IOs and therefore not applicable for journal stuff.

Have you tried to test the NVMe in Linux itself?

I was actually thinking about testing the NVMe in Linux.
Any recommendations on the best way to do it ?
 
I was also reading this: http://jrs-s.net/2013/05/17/kvm-io-benchmarking/

IT SAYS:
Conclusions
In the end, the recommendation is pretty clear – a ZFS zvol with ext4, qcow2 files, and writeback caching offers you the absolute best performance. (Using xfs on a zvol would almost certainly perform as well, or even better, but I didn’t test that exact combination here.) Best read performance, best write performance, qcow2 management features, ZFS snapshots / replication / data integrity / optional compression / optional deduplication / etc – there really aren’t any drawbacks here… other than the complexity of the setup itself. In the real world, I use simple .qcow2 on ZFS, no zvols required. The difference in performance between the two was measurable on graphs, but it’s not significant enough to make me want to actually maintain the added complexity.

HUH ?
I don't even know how to get started anymore.
Someone should really make a guide for this, and yes, I did search everywhere for a guide, LOL.
 
Maybe the lack of a guide shows that there is no easy answer and never will be.

Every benchmark emphasizes something and that something does not have to be your speed requirement. In my experience, admins go for data integrity, kiss setup and maintenance and not benchmarkable performance in the first place. You will always have drawbacks (also with the prosumer NVMe)

If you want to test your environment, just use fio on your host and in your vm to see which solution works best for you. Be aware, this is a very time-consuming test and the SSD will only be fast for the first couple of GB until the throughput maxes out or the SSD gets too hot. You can see that heat-related drop in throughput very easily and it is a problem of the 950 Pro. For the 960 Pro, you'll reach the limit some time later.
 
Maybe the lack of a guide shows that there is no easy answer and never will be.

Every benchmark emphasizes something and that something does not have to be your speed requirement. In my experience, admins go for data integrity, kiss setup and maintenance and not benchmarkable performance in the first place. You will always have drawbacks (also with the prosumer NVMe)

If you want to test your environment, just use fio on your host and in your vm to see which solution works best for you. Be aware, this is a very time-consuming test and the SSD will only be fast for the first couple of GB until the throughput maxes out or the SSD gets too hot. You can see that heat-related drop in throughput very easily and it is a problem of the 950 Pro. For the 960 Pro, you'll reach the limit some time later.

I would like to run a benchmark directly in proxmox shell using FIO
Can you please help me ?
How can I do that I have fio installed in proxmox but what commands or I run/write files so I run the same test as I did in the Windows VM ?

THANKS SO MUCH FOR ALL OF YOUR HELP!
 
For installing try: apt-get install fio.
For testing you can try:
fio --filename=brisi --sync=1 --rw=write --bs=10M --numjobs=1 --iodepth=1 --size=3000MB --name=test
or
fio --filename=brisi --sync=1 --rw=write --bs=512k --numjobs=1 --iodepth=1 --size=3000MB --name=test
..
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!