ประสิทธิภาพ IO แย่ - PCIe NVMe Samsung 950 pro


20

ฉันเพิ่งสร้างฮาร์ดแวร์เสร็จโดยคาดว่าจะได้รับประโยชน์อย่างมากจากไดรฟ์ NVMe ใหม่ ประสิทธิภาพก่อนหน้าของฉันต่ำกว่าที่คาดไว้ (ถ่ายโอน ~ 3gb) ดังนั้นฉันจึงเปลี่ยนเมนบอร์ด / cpu / memory / hdd ในขณะที่ผลการดำเนินงานเป็นสองเท่าสิ่งที่มันเป็นก็ยังคงเป็นครึ่งหนึ่งของสิ่งที่ผมได้รับใน 3 ปีเก่าของฉัน MacBook Pro กับไดรฟ์ SATA6

  • CPU: i7-5820k 6core
  • Mobo: MSI X99A MPOWER
  • หน่วยความจำ: 32GB
  • ไดรฟ์: Samsung 950 pro NVMe PCIe

Ubuntu (ยืนยันด้วย16.04.1 LTS):

Release:    15.10
Codename:   wily

4.2.0-16-generic

$ sudo blkid
[sudo] password for kross: 
/dev/nvme0n1p4: UUID="2997749f-1895-4581-abd3-6ccac79d4575" TYPE="swap"
/dev/nvme0n1p1: LABEL="SYSTEM" UUID="C221-7CA5" TYPE="vfat"
/dev/nvme0n1p3: UUID="c7dc0813-3d18-421c-9c91-25ce21892b9d" TYPE="ext4"

นี่คือผลการทดสอบของฉัน:

sysbench --test=fileio --file-total-size=128G prepare
sysbench --test=fileio --file-total-size=128G --file-test-mode=rndrw --max-time=300 --max-requests=0 run
sysbench --test=fileio --file-total-size=128G cleanup


Operations performed:  228000 Read, 152000 Write, 486274 Other = 866274 Total
Read 3.479Gb  Written 2.3193Gb  Total transferred 5.7983Gb  (19.791Mb/sec)
 1266.65 Requests/sec executed

Test execution summary:
    total time:                          300.0037s
    total number of events:              380000
    total time taken by event execution: 23.6549
    per-request statistics:
         min:                                  0.01ms
         avg:                                  0.06ms
         max:                                  4.29ms
         approx.  95 percentile:               0.13ms

Threads fairness:
    events (avg/stddev):           380000.0000/0.00
    execution time (avg/stddev):   23.6549/0.00

ตัวกำหนดตารางเวลาถูกตั้งค่าเป็นnone:

# cat /sys/block/nvme0n1/queue/scheduler
none

นี่คือlspciข้อมูล:

# lspci -vv -s 02:00.0
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01) (prog-if 02 [NVM Express])
    Subsystem: Samsung Electronics Co Ltd Device a801
    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 45
    Region 0: Memory at fb610000 (64-bit, non-prefetchable) [size=16K]
    Region 2: I/O ports at e000 [size=256]
    Expansion ROM at fb600000 [disabled] [size=64K]
    Capabilities: [40] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
        Address: 0000000000000000  Data: 0000
    Capabilities: [70] Express (v2) Endpoint, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
            ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
        DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
            RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
        LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L0s <4us, L1 <64us
            ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR+, OBFF Not Supported
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
        LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+
             EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest-
    Capabilities: [b0] MSI-X: Enable+ Count=9 Masked-
        Vector table: BAR=0 offset=00003000
        PBA: BAR=0 offset=00002000
    Capabilities: [100 v2] Advanced Error Reporting
        UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
        CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
        CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
        AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
    Capabilities: [148 v1] Device Serial Number 00-00-00-00-00-00-00-00
    Capabilities: [158 v1] Power Budgeting <?>
    Capabilities: [168 v1] #19
    Capabilities: [188 v1] Latency Tolerance Reporting
        Max snoop latency: 0ns
        Max no snoop latency: 0ns
    Capabilities: [190 v1] L1 PM Substates
        L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
              PortCommonModeRestoreTime=10us PortTPowerOnTime=10us
    Kernel driver in use: nvme

hdparm:

$ sudo hdparm -tT --direct /dev/nvme0n1

/dev/nvme0n1:
 Timing O_DIRECT cached reads:   2328 MB in  2.00 seconds = 1163.98 MB/sec
 Timing O_DIRECT disk reads: 5250 MB in  3.00 seconds = 1749.28 MB/sec

hdparm -v:

 sudo hdparm -v /dev/nvme0n1

/dev/nvme0n1:
SG_IO: questionable sense data, results may be incorrect
 multcount     =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 488386/64/32, sectors = 1000215216, start = 0

fstab

UUID=453cf71b-38ca-49a7-90ba-1aaa858f4806 /               ext4    noatime,nodiratime,errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
#UUID=C221-7CA5  /boot/efi       vfat    defaults        0       1
# swap was on /dev/sda4 during installation
UUID=8f716653-e696-44b1-8510-28a1c53f0e8d none            swap    sw              0       0
UUID=C221-7CA5  /boot/efi       vfat    defaults        0       1

FiO

นี้มีบางมาตรฐานเทียบเคียงมันเป็นวิธีการปิด เมื่อฉันทดสอบด้วย fio และปิดการใช้งานsyncมันเป็นเรื่องที่แตกต่าง:

sync=1
1 job  - write: io=145712KB, bw=2428.5KB/s, iops=607, runt= 60002msec
7 jobs - write: io=245888KB, bw=4097.9KB/s, iops=1024, runt= 60005msec

sync=0
1 job  - write: io=8157.9MB, bw=139225KB/s, iops=34806, runt= 60001msec
7 jobs - write: io=32668MB, bw=557496KB/s, iops=139373, runt= 60004msec

นี่คือsyncผลลัพธ์ที่สมบูรณ์สำหรับหนึ่งงานและ 7 งาน:

$ sudo fio --filename=/dev/nvme0n1 --direct=1 --sync=1 --rw=write --bs=4k --numjobs=1 --iodepth=1 --runtime=60 --time_based --group_reporting --name=journal-test
journal-test: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
fio-2.1.11
Starting 1 process
Jobs: 1 (f=1): [W(1)] [100.0% done] [0KB/2368KB/0KB /s] [0/592/0 iops] [eta 00m:00s]
journal-test: (groupid=0, jobs=1): err= 0: pid=18009: Wed Nov 18 18:14:03 2015
  write: io=145712KB, bw=2428.5KB/s, iops=607, runt= 60002msec
    clat (usec): min=1442, max=12836, avg=1643.09, stdev=546.22
     lat (usec): min=1442, max=12836, avg=1643.67, stdev=546.23
    clat percentiles (usec):
     |  1.00th=[ 1480],  5.00th=[ 1496], 10.00th=[ 1512], 20.00th=[ 1528],
     | 30.00th=[ 1576], 40.00th=[ 1592], 50.00th=[ 1608], 60.00th=[ 1608],
     | 70.00th=[ 1608], 80.00th=[ 1624], 90.00th=[ 1640], 95.00th=[ 1672],
     | 99.00th=[ 2192], 99.50th=[ 6944], 99.90th=[ 7328], 99.95th=[ 7328],
     | 99.99th=[ 7520]
    bw (KB  /s): min= 2272, max= 2528, per=100.00%, avg=2430.76, stdev=61.45
    lat (msec) : 2=98.44%, 4=0.58%, 10=0.98%, 20=0.01%
  cpu          : usr=0.39%, sys=3.11%, ctx=109285, majf=0, minf=8
  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    : total=r=0/w=36428/d=0, short=r=0/w=0/d=0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: io=145712KB, aggrb=2428KB/s, minb=2428KB/s, maxb=2428KB/s, mint=60002msec, maxt=60002msec

Disk stats (read/write):
  nvme0n1: ios=69/72775, merge=0/0, ticks=0/57772, in_queue=57744, util=96.25%

$ sudo fio --filename=/dev/nvme0n1 --direct=1 --sync=1 --rw=write --bs=4k --numjobs=7 --iodepth=1 --runtime=60 --time_based --group_reporting --name=journal-test
journal-test: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
...
fio-2.1.11
Starting 7 processes
Jobs: 6 (f=6): [W(2),_(1),W(4)] [50.4% done] [0KB/4164KB/0KB /s] [0/1041/0 iops] [eta 01m:00s]
journal-test: (groupid=0, jobs=7): err= 0: pid=18025: Wed Nov 18 18:15:10 2015
  write: io=245888KB, bw=4097.9KB/s, iops=1024, runt= 60005msec
    clat (usec): min=0, max=107499, avg=6828.48, stdev=3056.21
     lat (usec): min=0, max=107499, avg=6829.10, stdev=3056.16
    clat percentiles (usec):
     |  1.00th=[    0],  5.00th=[ 2992], 10.00th=[ 4512], 20.00th=[ 4704],
     | 30.00th=[ 5088], 40.00th=[ 6176], 50.00th=[ 6304], 60.00th=[ 7520],
     | 70.00th=[ 7776], 80.00th=[ 9024], 90.00th=[10048], 95.00th=[12480],
     | 99.00th=[15936], 99.50th=[18048], 99.90th=[22400], 99.95th=[23936],
     | 99.99th=[27008]
    bw (KB  /s): min=  495, max=  675, per=14.29%, avg=585.60, stdev=28.07
    lat (usec) : 2=4.41%
    lat (msec) : 2=0.57%, 4=4.54%, 10=80.32%, 20=9.92%, 50=0.24%
    lat (msec) : 250=0.01%
  cpu          : usr=0.14%, sys=0.72%, ctx=173735, majf=0, minf=63
  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    : total=r=0/w=61472/d=0, short=r=0/w=0/d=0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: io=245888KB, aggrb=4097KB/s, minb=4097KB/s, maxb=4097KB/s, mint=60005msec, maxt=60005msec

Disk stats (read/write):
  nvme0n1: ios=21/122801, merge=0/0, ticks=0/414660, in_queue=414736, util=99.90%

การวางแนว

ฉันได้ตรวจสอบการจัดแนวด้วยpartedเช่นเดียวกับคณิตศาสตร์ตามhttp://www.intel.com/content/dam/www/public/us/en/documents/technology-briefs/ssd-partition-alignment-tech -brief.pdf

kross@camacho:~$ sudo parted
GNU Parted 3.2
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit s                                                           
(parted) print all                                                        
Model: Unknown (unknown)
Disk /dev/nvme0n1: 1000215216s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start       End          Size        File system     Name                                 Flags
 1      2048s       206847s      204800s     fat32           EFI system partition                 boot, esp
 2      206848s     486957055s   486750208s  ntfs                                                 msftdata
 3      486957056s  487878655s   921600s     ntfs                                                 hidden, diag
 4      590608384s  966787071s   376178688s  ext4
 5      966787072s  1000214527s  33427456s   linux-swap(v1)

kross@camacho:~$ sudo parted /dev/nvme0n1
GNU Parted 3.2
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) align-check opt 1                                                
1 aligned
(parted) align-check opt 2
2 aligned
(parted) align-check opt 3
3 aligned
(parted) align-check opt 4
4 aligned
(parted) align-check opt 5
5 aligned

TLDR;

ฉันรู้สึกว่าฉันมีบางสิ่งบางอย่างที่ตั้งไว้ไม่ถูกต้องแม้ว่าการวิจัยของฉันจะไม่ปรากฏขึ้น ฉันคาดหวังถึงปริมาณงานที่เพิ่มขึ้น ~ 4x macbook รุ่นเก่าของฉันที่มี SATA6 และฉันได้รับ 1/2 ของมันด้วย NVMe ฉันเพิ่มnoatime,nodiratimeซึ่งทำให้ฉันปรับปรุงเล็กมาก แต่ไม่มีอะไรเหมือน 4x ที่ฉันคาดหวัง ฉันได้ทำการแบ่งพาร์ติชั่น / ติดตั้งเซิร์ฟเวอร์ 15.10 ใหม่สดใหม่เพื่อให้แน่ใจว่าฉันไม่มีอะไรที่อืดอาดและมีผลลัพธ์เหมือนกัน

fioผลลัพธ์ของฉันด้านบนของการซิงค์ / ไม่มีการซิงค์ที่บ่งบอกถึงปัญหาหรือไม่

ดังนั้นฉันจึงมีกระดานชนวนที่สะอาดและสามารถลองทำอะไรก็ได้ ฉันจะลองอะไรได้บ้างเพื่อให้ได้ประสิทธิภาพที่ดี ยินดีต้อนรับการอ้างอิงใด ๆ


คือสิ่งที่การส่งออกของsmartctl --scanแล้วsmartctl --all /dev/xxxที่xxxเป็นสิ่งที่ขึ้นมาในคำสั่งแรก ???
Fabby

@fabby ล้มเหลวด้วยapt-get install smartmontools grub-probe: error: cannot find a GRUB drive for /dev/nvme0n1p3. Check your device.map.ดูเหมือนว่า (ขึ้นอยู่กับความพยายามของฉัน) ที่update-grubใช้งานไม่ได้เนื่องจากgrub-probeข้อผิดพลาด smartctl -i /dev/nvme0n1ส่งคืน/dev/nvme0n1: Unable to detect device type. Please specify device type with the -d option. NVMe ไม่ปรากฏในsmartctl -hประเภทอุปกรณ์
kross

ผลลัพธ์ของuname --kernel-release&&lsb_release --code --short???
Fabby

4.2.0-16-generic wily
kross

ฉันอาจจะผิดอย่างสมบูรณ์และฉันไม่สามารถหาแหล่งที่มาในขณะนี้ แต่เมื่อฉันมีมันในใจคุณต้องมีSkylakeโปรเซสเซอร์เพื่อเรียกใช้ SSD เหล่านั้นด้วยความเร็วสูงสุด ...
wawa

คำตอบ:


5

ขอบคุณสำหรับคำถามของคุณมันมีประโยชน์อย่างเหลือเชื่อสำหรับฉัน

ฉันมีประสบการณ์คล้ายกันมากการตั้งค่าฮาร์ดแวร์ที่แตกต่างกัน (ฉันใช้ Intel NVMe SSD) แต่ฉันยังใช้ Ubuntu 16.04 จากหลักฐานของคุณและผลลัพธ์ที่คล้ายกันที่พบในบทความนี้ฉันเชื่อว่าปัญหาเกิดขึ้นกับวิธีที่อูบุนตูตั้งค่าไดรฟ์ NVMe

ฉันตั้งใจจะแก้ปัญหาโดยไม่ยอมแพ้กับ Ubuntu อย่างสมบูรณ์ แต่ไม่ว่าฉันจะทำอะไรฉันก็ไม่สามารถรับความเร็วที่สูงกว่า 2,000 MB / วินาทีเมื่อทำการทดสอบด้วย hdparm ตามที่คุณอธิบาย

ดังนั้นฉันจึงขุดบ้างและพบคำแนะนำจาก Intel ฉันลองทุกอย่างที่พวกเขาแนะนำในคู่มือนี้และพบว่าส่วนหนึ่งแตกต่างกัน ใกล้กับด้านล่างมันอธิบายถึงการจัดแนวพาร์ติชันไดรฟ์อย่างถูกต้อง นี่เป็นส่วนหนึ่งที่ไม่ตรงกับการติดตั้งของฉัน บล็อกเริ่มต้นของฉันไม่สามารถหารด้วย 4096 ไบต์ได้ มันใช้ขนาดเซกเตอร์ไบต์ 512 แทนขนาดเซกเตอร์ 4k

ฉันได้ฟอร์แมตดิสก์เพื่อเริ่มพาร์ติชันด้วยค่าหารด้วย 4096 และในที่สุดฉันก็สามารถทำลายความเร็วได้ถึง 2,000 MB / s

ตอนนี้มันเฉลี่ย 2.3 GB / s เมื่อฉันคาดหวังว่ามันจะสูงขึ้นเล็กน้อย ฉันตำหนิสิ่งนี้ในความจริงที่ว่าเมื่อฉันเรียกใช้sudo fdisk -lไดรฟ์ NVMe ยังคงแสดงด้วยขนาดเซกเตอร์กายภาพที่ 512 ไบต์ ฉันวางแผนที่จะตรวจสอบต่อไป แต่ฉันหวังว่านี่จะช่วยคุณได้!


ขอบคุณฉันจะตรวจสอบการจัดตำแหน่งของฉันอีกครั้ง ฉันรู้ว่าฉันตรวจสอบสิ่งนี้ ณ จุดหนึ่ง แต่มันก็คุ้มค่าที่จะพิจารณารูปลักษณ์ใหม่ของข้อมูลนี้
Kross

ฉันอัปเดตคำถามด้วยการจัดตำแหน่งของฉัน partedบอกว่ามันถูกจัดวางตามขนาดบล็อก 512 แต่ไม่หารด้วย 4096 ดังนั้นฉันแค่ต้องการยืนยัน: ขนาดเซกเตอร์ของคุณยังคงอยู่ที่ 512 และสิ่งเดียวที่คุณทำคือเริ่มพาร์ติชันที่ตำแหน่งหารด้วย 4096 ถูกต้องไหม
kross

คำอธิบายที่ดี: blog.kihltech.com/2014/02/…
kross

1
เอ่อตอนนี้จะทำอย่างไรกับดิสก์ที่มีอยู่ของฉัน ... ลองและปรับขนาด / ย้ายหรือ dd, hmmm ไม่แน่ใจ แน่นอนว่านี่เป็นสาเหตุที่แท้จริง
kross

แหล่งข้อมูลอื่น: intel.com/content/dam/www/public/us/en/documents/…
kross

5

ข้อควรระวัง:คำตอบนี้เก่า ในฐานะของลินุกซ์ 4.19 blk_mq เป็นตารางเวลาเริ่มต้น เป็นไปได้มากว่าปัญหาสำหรับ PCIe NVMe SSD ของคุณที่ทำงานช้าแบบอื่นเกิดขึ้น

คำตอบเดิม:

กรุณาเพิ่ม

scsi_mod.use_blk_mq=1

สำหรับพารามิเตอร์การบูตเคอร์เนลของคุณมิฉะนั้นฉันไม่คิดว่าคุณจะเห็นประโยชน์ของการเพิ่มคำสั่งและคำสั่งต่อคิวของ NVMe

หมายเหตุ: ฉันรู้ว่ามันมีไว้สำหรับ arch แต่คุณอาจต้องการดูWikiสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการปรับ I / O


2
ขอบคุณที่เพิ่มสิ่งนี้ฉันลองใน Ubuntu 16.04.1 LTS และไม่เห็นความแตกต่าง ฉันค่อนข้างมีความหวัง แต่น่าเสียดายที่นี่ไม่ได้เปลี่ยนแปลงอะไร
kross

2
เหมือนกันสำหรับฉันไม่มีความแตกต่างที่เห็นได้ชัดในการทำงานจากมาตรฐาน hdparm
Wordsforthewise

เหมือนกับฉัน. ฉันได้อัปเดตคำตอบของฉันด้านล่างซึ่งแสดงว่าความเร็วการบู๊ตลดลง 1 วินาที
WinEunuuchs2Unix

3

กระทู้นี้มีอายุหนึ่งปี (ตุลาคม 2016) หนึ่งในคำตอบที่ได้รับการโหวตสูงสุดแนะนำให้ใช้ไดรเวอร์ Intel NVMe ที่มีอายุสองปี (2015)

ในเดือนกุมภาพันธ์ 2560 แม้ว่า Samsung จะเปิดตัวอัพเดตเฟิร์มแวร์ที่ใช้ตัวติดตั้ง ISO บูตจาก Linux ในลิงค์เดียวกันมีไดรเวอร์ที่คุณสามารถติดตั้งสำหรับ Windows 7/8/10 ฉันจะติดตั้งทั้งบน Samsung 960 Pro ใหม่และแล็ปท็อป Dell รุ่น i7-6700 ใหม่ นอกเหนือจาก BIOS กะพริบและการอัพเดทไดรเวอร์อื่น ๆ ของ Dell

ฉันคิดว่ามันเป็นสิ่งสำคัญที่จะต้องทบทวนเธรดเก่าเหล่านี้อีกครั้งและให้ลิงก์ใหม่แก่ผู้ใช้ใหม่ (จนถึงวันที่ 11 ตุลาคม 2017) เพื่อให้พวกเขามีตัวเลือกทั้งหมดที่เปิดอยู่

มีการค้นหา google จำนวนมากที่ส่งคืนเพื่อประสิทธิภาพที่ช้าของ Samsung 960 Pro ภายใต้ Linux ซึ่งมีความเร็วเพียงครึ่งหนึ่งของ Windows ดังนั้นฉันขอแนะนำให้ทุกคนค้นหาตัวเลือกให้ได้มากที่สุด


หลังจากใช้scsi_mod.use_blk_mq=1พารามิเตอร์เคอร์เนล:

$ systemd-analyze
Startup finished in 7.052s (firmware) + 6.644s (loader) + 2.427s (kernel) + 8.440s (userspace) = 24.565s

การลบพารามิเตอร์เคอร์เนลและการรีบูต:

$ systemd-analyze
Startup finished in 7.060s (firmware) + 6.045s (loader) + 2.712s (kernel) + 8.168s (userspace) = 23.986s

ดังนั้นตอนนี้มันจะปรากฏขึ้นที่scsi_mod.use_blk_mq=1ทำให้ระบบช้าลงไม่เร็วขึ้น ในครั้งเดียวมันอาจจะมีประโยชน์แม้ว่า


เพียงแค่ FYI: ณ จุดหนึ่งการเปิดใช้งานหลายภาษา SCSI ทำให้อุปกรณ์บางอย่างช้าลง แต่ปัญหาต่าง ๆ ได้รับการแก้ไขแล้ว จากเมล็ด v4.19 เป็นต้นไปลินุกซ์ช่วยให้ SCSI-MQ โดยค่าเริ่มต้น หมายเหตุ: มันไม่ชัดเจนสำหรับฉันว่าตัวเลือกนี้จะส่งผลกระทบต่อไดรฟ์ NVMe (ตรงข้ามกับไดรฟ์ SCSI / SATA)
Anon

1

ต่อไปนี้เป็นข้อมูลที่น่าสนใจ: บน Windows ไดรฟ์ไม่ทำงานตามการตรวจสอบมาตรฐานจนกว่าการล้างแคชจะถูกปิดใช้งาน โดยปกติจะไม่ทำโดยตรง มีการติดตั้งไดรเวอร์ของผู้จัดจำหน่าย (ในกรณีนี้คือไดรเวอร์ Samsung NVMe)

หากคุณเปรียบเทียบกับไดรเวอร์ของผู้จำหน่ายแล้วปิดการใช้งานการล้างแคชใน Windows คุณจะได้รับหมายเลขเดียวกัน อาจเป็นกรณีนี้หากผู้ขายไม่ได้สนใจล้างข้อมูลแคช

แปลเป็น Linux-land ซึ่งหมายความว่าบน Windows เพื่อรับหมายเลขมาตรฐานขนาดใหญ่ที่คุณเห็นในบทวิจารณ์ทั้งหมดคุณต้องปิดการใช้งานfsyncด้วยวิธีการทั้งหมดที่เชื่อถือได้ (ไม่มี fsync หรือโดยเฉพาะไม่มีอุปสรรคในการเขียนหมายถึงพลังนั้น การสูญเสียในเวลาที่ผิดอาจทำลาย FS ทั้งหมดขึ้นอยู่กับการใช้งาน - การเขียนเรียงลำดับใหม่สร้างสถานการณ์ "เป็นไปไม่ได้")

SSD "ศูนย์ข้อมูล" ของ Samsung มาพร้อมกับตัวเก็บประจุเพื่อให้แน่ใจว่าข้อมูลแคชถูกล้างอย่างถูกต้อง นี่ไม่ใช่กรณีที่มีไดรฟ์สำหรับผู้บริโภค

ฉันเพิ่งทำสิ่งนี้จากหลักการแรกโดยเพิ่ม 1TB NVMe ในงานสร้างใหม่ของฉันเมื่อวานนี้ ฉันไม่ค่อยมีความสุขและฉันได้ทำการติดต่อกับฝ่ายสนับสนุนของ Samsung เพื่อดูว่าพวกเขาพูดอะไร - แต่ฉันสงสัยว่าฉันจะได้ยิน


พวกเขาพูดอะไรเหรอ?
Csaba Toth

0

ฉันยังไม่สามารถแสดงความคิดเห็นได้ดังนั้นฉันต้องตอบ :-(

ฉันไม่มีไดรฟ์ที่เปรียบเทียบได้ แต่ฉันเดาว่าค่าจาก hdparm นั้นใช้ได้ ถ้าเป็นเช่นนั้นฉันจะสมมติว่าคุณใช้ sysbench ในแบบที่ไม่ดี ลองทดสอบกับพารามิเตอร์ - จำนวนเธรดเพื่อสร้างโหลดเพิ่มเติมบนไดรฟ์ อย่างน้อยในคอมพิวเตอร์ของฉันความแตกต่างระหว่าง 1 เธรด (ค่าเริ่มต้น) และ 16 เธรดคือประมาณ 1: 4 บน SATA SSD มาตรฐาน ความเข้าใจของฉันคือการที่ไดรฟ์ NVMe เริ่มทำงานที่ขนานกันมากขึ้นทำให้พวกเขามีภาระมากขึ้น


ฉันใช้มันในแบบเดียวกันกับ mbpro และมันก็เป็น 1/2 ของประสิทธิภาพซึ่งเป็นสิ่งที่ไม่สมเหตุสมผล
kross

ฉันเพิ่งเพิ่มการfioทดสอบที่มี 1 และ 7 เธรดและมีการอ้างอิงไปยังกลุ่มมาตรฐานที่ใช้เป็นพื้นฐาน
kross

0

SSD ส่วนใหญ่จะแบนลงบนใบหน้าหากการซิงค์ = 1 (D_SYNC) ตั้งค่าสถานะ น่าเสียดายนี่เป็นปัญหาที่ทราบกันดีสำหรับวารสาร Ceph ดูหน้านี้สำหรับข้อมูลเพิ่มเติมและรายการไดรฟ์ที่ทำงานได้ดีเมื่อเปิดใช้งานการซิงค์:

http://www.sebastien-han.fr/blog/2014/10/10/ceph-how-to-test-if-your-ssd-is-suitable-as-a-journal-device/


ขอบคุณ แต่ฉันได้อ้างอิงบทความข้างต้นภายใต้หัวข้อfioแล้วและคุณสามารถดูได้จากเกณฑ์มาตรฐานว่า SSD ของฉันมีประสิทธิภาพต่ำกว่าIntel 750 NVMe 400GB 261 MB/s (1 job) 884 MB/s (5 jobs)มากเมื่อเทียบกับการซิงค์และแม้แต่ต่ำกว่ารุ่นก่อนSamsung XP941 256GB 2.5 MB/s (1 job) 5 MB/s (7 jobs)ๆ ดังนั้นในขณะที่มันอาจเป็นที่รู้จักกันดีก็ยังคงน้อยกว่าที่ควรจะเป็น
kross

0

สล็อต M.2 ของฉันถูก จำกัด ที่ 10Mbps ฉันใช้อะแดปเตอร์ PCIe เพื่อแก้ไขข้อ จำกัด นี้: https://www.amazon.com/Lycom-DT-120-M-2-PCIe-to-PCIe-3-0-x4-Adapter-Support-M-2 -PCIe-2280-2260-2242 / DP / B00MYCQP38 /

มาเธอร์บอร์ดของคุณบอกว่ามันเป็น 32Mbps เต็มทั้งสองทางและอาจเป็นเรื่องจริง แต่ฉันคิดว่าฉันจะพูดถึงอะแดปเตอร์เพราะมันใช้งานได้สำหรับฉัน ฉันคิดว่ามันคือ $ 25 และถ้าคุณใช้เวลาพอที่จะเล่นซอแล้วมันอาจจะคุ้มค่าที่จะลอง

ฉันเขียนเกี่ยวกับประสบการณ์ในรีวิว Amazon: https://www.amazon.com/gp/customer-reviews/R21BXILGXW4D9C/ref=cm_cr_arp_d_rvw_ttl?ie=UTF8&ASIN=B01639694M

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.