I am passing through an Intel P3600 1.6TB NVME SSD to a fresh install of Ubuntu 19.10 VM. Using Q35 Machine code, 44 cores, 48GB of RAM and the performance is terrible, maxing out around 1000 MB/s but averaging 450 MB/s.
It has been previously connected, through passthrough, on an Dell R710 running ESXI and I had no problem reaching 1500+ MB/s on PCIe 2.0. I was expecting 2500-3500 on this new server with PCIe 3.0.
Not to mention I get 1500 MB/s on my EVO 970 500GB NVME connected to a PCIe 3.0 x4 card that is storage for Proxmox VMs but I chalked that up to being shared VM storage with 6 VMs running.
Q35 machine type, tried various SCSI controllers, tried PCI vs PCI-E, no difference.
It has been previously connected, through passthrough, on an Dell R710 running ESXI and I had no problem reaching 1500+ MB/s on PCIe 2.0. I was expecting 2500-3500 on this new server with PCIe 3.0.
Not to mention I get 1500 MB/s on my EVO 970 500GB NVME connected to a PCIe 3.0 x4 card that is storage for Proxmox VMs but I chalked that up to being shared VM storage with 6 VMs running.
Code:
hdparm -t /dev/nvme0n1p1
/dev/nvme0n1p1:
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
Timing buffered disk reads: 2966 MB in 3.00 seconds = 988.67 MB/sec
dd if=/dev/zero of=/tmp/benchmark bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.43485 s, 441 MB/s
Code:
fio --name=seqread --rw=read --direct=1 --ioengine=libaio --bs=8k --numjobs=8 --size=1G --runtime=600 --group_reporting
seqread: (g=0): rw=read, bs=(R) 8192B-8192B, (W) 8192B-8192B, (T) 8192B-8192B, ioengine=libaio, iodepth=1
...
fio-3.12
Starting 8 processes
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
seqread: Laying out IO file (1 file / 1024MiB)
Jobs: 7 (f=6): [_(1),R(3),f(1),R(3)][100.0%][r=383MiB/s][r=48.0k IOPS][eta 00m:00s]
seqread: (groupid=0, jobs=8): err= 0: pid=27687: Sun Feb 16 00:12:26 2020
read: IOPS=51.5k, BW=402MiB/s (422MB/s)(8192MiB/20366msec)
slat (usec): min=6, max=1241, avg=19.30, stdev=10.46
clat (usec): min=2, max=3532, avg=129.98, stdev=42.18
lat (usec): min=27, max=3551, avg=150.04, stdev=43.85
clat percentiles (usec):
| 1.00th=[ 80], 5.00th=[ 92], 10.00th=[ 95], 20.00th=[ 99],
| 30.00th=[ 104], 40.00th=[ 116], 50.00th=[ 125], 60.00th=[ 135],
| 70.00th=[ 143], 80.00th=[ 153], 90.00th=[ 174], 95.00th=[ 194],
| 99.00th=[ 245], 99.50th=[ 265], 99.90th=[ 351], 99.95th=[ 420],
| 99.99th=[ 1319]
bw ( KiB/s): min=43184, max=59216, per=12.65%, avg=52111.00, stdev=2559.42, samples=318
iops : min= 5398, max= 7402, avg=6513.81, stdev=319.92, samples=318
lat (usec) : 4=0.01%, 10=0.01%, 20=0.04%, 50=0.20%, 100=23.08%
lat (usec) : 250=75.83%, 500=0.81%, 750=0.01%, 1000=0.01%
lat (msec) : 2=0.03%, 4=0.01%
cpu : usr=9.73%, sys=18.60%, ctx=1049518, majf=0, minf=131
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=1048576,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=402MiB/s (422MB/s), 402MiB/s-402MiB/s (422MB/s-422MB/s), io=8192MiB (8590MB), run=20366-20366msec
Disk stats (read/write):
nvme0n1: ios=1113066/72, merge=0/69, ticks=127992/8, in_queue=0, util=99.61%
Code:
06:10.0 Non-Volatile memory controller: Intel Corporation PCIe Data Center SSD (rev 01) (prog-if 02 [NVM Express])
Subsystem: Intel Corporation PCIe Data Center SSD
Physical Slot: 16
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 21
NUMA node: 0
Region 0: Memory at fde50000 (64-bit, non-prefetchable) [size=16K]
Expansion ROM at fde40000 [disabled] [size=64K]
Capabilities: <access denied>
Kernel driver in use: nvme
Kernel modules: nvme
Code:
isdct show -a -intelssd
- Intel SSD DC P3600 Series CVMD426300961P6KGN -
AdminPath : /dev/nvme0
AggregationThreshold : 0
AggregationTime : 0
ArbitrationBurst : 0
Bootloader : 8B1B012B
CoalescingDisable : 0
DevicePath : /dev/nvme0n1
DeviceStatus : Healthy
DirectivesSupported : False
DisableThermalThrottle : The selected drive does not support this feature.
DynamicMMIOEnabled : The selected drive does not support this feature.
EndToEndDataProtCapabilities : 17
EnduranceAnalyzer : Media Workload Indicators have reset values. Run 60+ minute workload prior to running the endurance analyzer.
ErrorString :
Firmware : 8DV1RA03
FirmwareUpdateAvailable : Please contact your Intel representative about firmware update for this drive.
FormatNVMCryptoEraseSupported : True
FormatNVMSupported : True
HighPriorityWeightArbitration : 0
IOCompletionQueuesRequested : 30
IOSubmissionQueuesRequested : 30
Index : 0
Intel : True
IntelGen3SATA : False
IntelNVMe : True
InterruptVector : 0
IsDualPort : False
LBAFormat : 0
LatencyTrackingEnabled : Invalid Field in Command
LowPriorityWeightArbitration : 0
MaximumLBA : 3125627567
MediumPriorityWeightArbitration : 0
MetadataSetting : 0
MetadataSize : 0
ModelNumber : INTEL SSDPEDME016T4S
NVMeControllerID : 0
NVMeMajorVersion : 1
NVMeMinorVersion : 0
NVMePowerState : 0
NVMeTertiaryVersion : 0
NamespaceId : 1
NamespaceManagementSupported : False
NativeMaxLBA : 3125627567
NumErrorLogPageEntries : 63
NumLBAFormats : 6
NumberOfNamespacesSupported : 1
OEM : Oracle
PCIBus : 5
PCIDevice : 1
PCIDomain : 0
PCIFunction : 0
PCILinkGenSpeed : 3
PCILinkWidth : 4
PLITestTimeInterval : The selected drive does not support this feature.
PhyConfig : The selected drive does not support this feature.
PhySpeed : The selected drive does not support this feature.
PhysicalSectorSize : The selected drive does not support this feature.
PhysicalSize : 1600321314816
PowerGovernorAveragePower : Feature is not supported.
PowerGovernorBurstPower : Feature is not supported.
PowerGovernorMode : 0
Product : Middledale
ProductFamily : Intel SSD DC P3600 Series
ProductProtocol : NVME
ProtectionInformation : 0
ProtectionInformationLocation : 0
ReadErrorRecoveryTimer : Device does not support this command set.
SMARTEnabled : True
SMARTHealthCriticalWarningsConfiguration : 0
SMBusAddress : Invalid Field in Command
SMI : False
SanitizeBlockEraseSupported : False
SanitizeCryptoScrambleSupported : False
SanitizeOverwriteSupported : False
SectorDataSize : 512
SectorSize : 512
SelfTestSupported : False
SerialNumber : CVMD426300961P6KGN
TCGSupported : False
TelemetryLogSupported : False
TempThreshold : 85
TemperatureLoggingInterval : The selected drive does not support this feature.
TimeLimitedErrorRecovery : 0
TrimSupported : True
VolatileWriteCacheEnabled : False
WriteAtomicityDisableNormal : 0
WriteCacheReorderingStateEnabled : The selected drive does not support this feature.
WriteCacheState : The selected drive does not support this feature.
WriteErrorRecoveryTimer : Device does not support this command set.
Q35 machine type, tried various SCSI controllers, tried PCI vs PCI-E, no difference.