web-dev-qa-db-fra.com

Très mauvaise performance NVME

J'ai d'abord installé Windows et réalisé un benchmark sur le Samsung 950 Pro, et une vitesse de lecture de 2700 Mbps. Je l’ai fait pour confirmer que la carte mère pouvait utiliser les voies x4 complètes avec NVME sur le périphérique d’amorçage.

À Ubuntu, je vois des vitesses d’écriture de 170 à 200 Mbps.

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:    16.04
Codename:   xenial

J'ai ensuite fait une nouvelle installation d'ubuntu et j'ai fait un test en utilisant cette technique . Voici le résultat:

$ Sudo hdparm -Tt /dev/nvme0n1

/dev/nvme0n1:
 Timing cached reads:   23880 MB in  2.00 seconds = 11951.14 MB/sec
 Timing buffered disk reads: 5194 MB in  3.00 seconds = 1731.18 MB/sec

Voici le lspci:

$ lspci -vv -s 02:00.0
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01) (prog-if 02 [NVM Express])
    Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller
    Physical Slot: 2-1
    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, Cache Line Size: 32 bytes
    Interrupt: pin A routed to IRQ 39
    Region 0: Memory at fb210000 (64-bit, non-prefetchable) [size=16K]
    Region 2: I/O ports at e000 [size=256]
    Expansion ROM at fb200000 [disabled] [size=64K]
    Capabilities: <access denied>
    Kernel driver in use: nvme
    Kernel modules: nvme

J'ai fait des recherches et trouvé une question connexe ici sans réponses. Un autre article, ici , a des problèmes similaires mais pas de solution.

Des conseils sur le dépannage?

Merci!

Edit: pour clarifier, les vitesses d'écriture sur les fenêtres étaient également flamboyantes, bien au-dessus de 1500 Mbps

6
tbenst

Hmmm, les chiffres que vous fournissez ici sont bien supérieurs à 170-200Mo/s. Cependant ils ont tort.

Afin de contourner le cache de pages, les lectures étant directement transférées du lecteur dans les mémoires tampons de hdparm (c.-à-d. Les E/S "brutes"), vous devez utiliser le paramètre --direct dans hdparm. C'est:

$ Sudo hdparm -Tt --direct /dev/nvme0n1

De cette façon, vos résultats seront plus faibles tout en fermant les performances du disque.

4
jsalatas

Essayez la ligne de commande (vous devrez peut-être commencer par Sudo apt install fio):

fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting

Pour plus de détails, voir: https://askubuntu.com/a/991311/50254

0