The performance of the drive will depend on the type of data and workload, or the test configuration. Please review the Intel® SSD DC P3700 Product Specification, pages 10-11, for the advertised performance. The performance tests were measured using IOMeter* on Windows* Server 2012 R2 driver with Queue Depth 32 and 4 workers and other settings mentioned in the specifications.
The fact that the drive performs well in other Operating Systems suggests a limiting condition in the virtualized environment. Please review the following items, as they are directly involved in the performance and functionality of the drive:
1. Use the most recent driver for your Intel® SSD and VMware*. Current file: VMW-ESX-5.5.0-intel-nvme-1.0e.1.1-2791094.zip
2. Check with the Motherboard or Computer Manufacturer to make sure that your SSD is connected to a PCIe Gen3 x4 slot or connector, otherwise, it may show degraded performance.
3. Make sure your SSD is using the most recent firmware, currently 8DV10151, with bootloader revision 8B1B012F. This can be updated using Intel® Data Center Tool:
In an virtual environment there are other factors involved, like number of Virtual Machines, concurrent access and Hypervisor or VM configurations. These would be outside of the SSD support scope, however, you can review the following document for more information about this:
Here are some threads from the VMware community regarding performance of the Intel® SSD DC P3700 under different scenarios:
*NOTE: These links are being offered for your convenience and should not be viewed as an endorsement by Intel of the content, products, or services offered there.
Thank you very much for your detailed answer.
I forgot to say you :
I am using the latest driver downloaded form intel site VMW-ESX-5.5.0-intel-nvme-1.0e.1.1-2791094.zip
and latest driver for windows downloaded from intel site too.
pci slot type can't be problem because as you can seek above in my message
i am using the same config for the test. in windows server 2008 it runs 300 K iops.
in same server and config , when i install vmware and guests in it , the guests run at 60 K iops.
i have no other concurrent guest machines running in that server . this is only a test server.
all of the configs are default configs on vmware.i am using lsi sas driver in vm guests.(original intel nvme driver in vm hosts)
i have read the driver threads you mentioned above before i wrote this message but they don't help me.
they say that drivers are the problem but i have the latest driver from the intel site now , but it run so slow in vmware. i tried 5.5 and 6.0 esxi , they do the same.
i don't think the DC P3700 nvme firmware can be old, because i bought it new (3 weeks ago).this can't be the problem.
i am doing all the measurements by
6 worker, 256 Queu depth, 4K random %100 read.
in window server 2008 r2 this test runs 300 K iops.
the same test runs 60K iops in vmware guest pcs.(win7 or win srv 2008 r2)
What can i do ?
With the information you have provided it seems that SSD is working correctly, since the tests run fine with Windows* Server 2008. The slow performance is only noticed when the tests are run from a Virtual Machine host.
The Intel® SSD DC P3700 Series is certified to operate in VMWare* ESXi, however, we strongly advise you to check with VMWare on this issue, since there are many factors involved in your configuration that may affect the performance results from a virtual machine.
Take into consideration that all drivers for VMWare ESXi* must be certified and can be obtained from VMWare* as well.
From the perspective of the SSD, there are some things left to check, however, we cannot guarantee that this will have a significant effect in your test results:
- The firmware of the drive should be the most recent. Even if the drive is new, it may have a previous firmware revision.
- Try using the most recent version of IOmeter to perform your tests. This can be downloaded from www.iometer.org
- The advertised performance is obtained using Windows* Server 2012 R2, with Queue Depth 32 and 4 workers (total 128). You were using different values in your testing.