"Новая версия CrystalDiskInfo 9.9.0 получила функцию автоматического обнаружения фальшивых SSD Samsung 990 PRO. Утилита помечает подозрительные накопители меткой [FAKE], сверяя модель, прошивку и S.M.A.R.T.-идентификаторы"(с)
"Новая версия CrystalDiskInfo 9.9.0 получила функцию автоматического обнаружения фальшивых SSD Samsung 990 PRO. Утилита помечает подозрительные накопители меткой [FAKE], сверяя модель, прошивку и S.M.A.R.T.-идентификаторы"(с)
Злой_Жук:Надо проще к этому относиться. Пока работает-все ОК.
Не согласен с вами, если диск на гарантии производителя, то с такими параметрами смарта его пора возвращать туда, где он родился... А так получается подпилем, залатаем дырку заплаткой, авось не удохнет за 5 лет и алярмой не засветит юзеру.
Злой_Жук:Всегда надо бэкап важных данных делать на другой винт, лучше внешний, лучше в 2 разных места
Тут нельзя не согласиться.
Злой_Жук:Ну и на ссд лучше не заливать\раздавать торренты. По идее это быстрее его ресурс выпилит
Если просто что-то качать с торентов в бытовых целях, то глубоко фиолетово. Он на то и диск, что бы работать и рано или поздно откинуться)
|
офлайн
_-_-_-mis_encuk_
Junior Member
|
|
|
40 |
более полугода на сайте Город:
|
KADUK:"Новая версия CrystalDiskInfo 9.9.0 получила функцию автоматического обнаружения фальшивых SSD Samsung 990 PRO. Утилита помечает подозрительные накопители меткой [FAKE], сверяя модель, прошивку и S.M.A.R.T.-идентификаторы"(с)
Действительно, поддельных Samsung 990 PRO развелось много, китайские умельцы перешивают контроллеры и наклейки
Есть ли здесь люди, с топовыми дисками (типа WD SN850X, Crucial T500, T705, Samsung версий Pro) которые не против провести 4k чтение уже записанных данных? Желательно давно записанных. К примеру, на разделе с ОС. Именно чтение — не запись. Т.е. износа по записи будет 0. И желательно чтобы диском пользовались (т.е. чтобы сам он, безотносительно разделов, был заполнен, хотя бы на половину, но чем больше — тем лучше).
Сам же раздел, любой, должен быть записан на гигабайт 60 от своего объема, хотя бы. Желательно давно. Диапазон теста 50 гигов от начала раздела. Можно и меньше поставить, но хотелось бы для честности побольше.
Интересует на сколько быстро способен ваш диск отдать данные из секторов, которые давно были записаны как TLC, либо изменились таблицы доступа к старым давно записанным ячейкам, данные которых, разумеется, могут мигрировать по самой памяти в следствие работы контроллера.
Т.е. почитать нужно диск в районе 30 - 60 секунд, в один поток, блоками 4k, рандомно, но без использования кешей операционной системы — т.е. напрямую зону LBA любого раздела (который давно создан и задействован), чтобы исключить ускорения от ОС.
Именно эта скорость, как я понимаю, в первую очередь будет влиять на загрузку ОС, любых программ — короче всего, что будет грузится в первый раз после того как ПК был выключен, а потом — включён.
Будет здорово, если этот желающий, если он будет, сможет загрузиться с Live CD c Linux (Ubuntu/Kubuntu 26.04 или любым другим). Там есть консольная утилита, которая позволяет довольно честно померять скорость. Сохранить результаты в логах, и т.д.
К сожалению, в обзорах, таких тестов не делают. Я не нашел, во всяком случае. Чтение происходит на только что записанных данных (CrystalDiskMark пишет файл и тут же его читает). И цифры получаются очень красивые. А буквально через три часа, один и тот же файл, или раздел, который читался резво и бодро, с цифрами как в обзорах, читается со скоростью в 1.7 раз меньше. И подобное поведение сохраняется среди дисков той же модели. Я проверял на двух дисках Samsung 990 Pro 2 Tb. Причём второй практически новый, в смарте записей гигов на 700. Поведение идентично — т.е. так задумано.
Могу написать инструкции, как провести такой тест, если кто-то хочет его провести но не знает как.
Radiator:Могу написать инструкции, как провести такой тест, если кто-то хочет его провести но не знает как.

Такой вариант пойдёт? Данные от начала 2024 года на диске + все обновления винды с того же времени + куча обновлений софта для разработки
Напиши инструкцию по софту кратую, а там будем посмотреть
Radiator:Сохранить результаты в логах, и т.д.
Solidigm P44 Pro
$part = Get-Partition -DriveLetter C
$offset = [int64]$part.Offset
.\diskspd.exe -b4K -r4K -w0 -t1 -o1 -d60 -W0 -C0 -Sh -L -Rxml "-B${offset}:50G" "#$($part.DiskNumber)"
<Target>
<Path>#0</Path>
<BytesCount>3320209408</BytesCount>
<FileSize>2048408248320</FileSize>
<IOCount>810598</IOCount>
<ReadBytes>3320209408</ReadBytes>
<ReadCount>810598</ReadCount>
<WriteBytes>0</WriteBytes>
<WriteCount>0</WriteCount>
<AverageReadLatencyMilliseconds>0.074</AverageReadLatencyMilliseconds>
<ReadLatencyStdev>0.047</ReadLatencyStdev>
</Target>
810598 операций / 60 секунд = 13510 IOPS
13510 * 4096 байт = 55.3 MB/s
Вот инструкция и пример с видео, как я провожу тест. Я буду использовать Kubuntu, но если кто-то предпочитает другой Linux — разницы нет.
1. Если вы хорошо знаете разделы своих дисков (их очередность, объёмы), а обычно это так, то делать ничего не нужно. Но если не уверены, можно зайти в управление дисками в Windows, и посмотреть, каким от начала по счёту у вас диск C, а какой D — т.е. те на которых вы хотите сделать тест. Kubuntu не отобразит вам занятое место на диске, если у вас шифрованный раздел (Bitlocker). Но объём раздела покажет. Поэтому опять же, если одинаковых разделов нет, то определить что есть что будет просто.


2. Необходимо скачать iso диск установки Kubuntu с официального сайта https://kubuntu.org/download/. Устанаваливать систему не нужно будет, но нужно загрузиться с этого образа. Сделать это можно разными способами:
a) Создать флешку, которая умеет грузить iso образы и не только — Ventoy:
3. Также вам понадобится ещё одна флешка, карточка памяти — что угодно, чтобы сохранить результаты и чтобы записать туда команду на тестирование (текстовый файлик). Чтобы не мучаться и не набирать руками. Kubuntu загрузится в оперативную память, создаст временный диск в оперативной памяти и писать результаты будет на него. Можно, как вариант, из браузера зайти к примеру в Google аккаунт, и сохранить результаты в Google Drive. Но их нужно будет сохранить до выключения ПK/перезагрузки.
Также, можно подключиться к диску из Kubuntu (одному из установленных в комп), и сохранить результаты после тестов туда. Легче всего это сделать, если диск не зашифрован (просто кликнуть в проводнике — Dolphin). Если зашифрован — нужны ключи для расшифровки, но это я пропущу в описании.

4. Начинаем грузиться с флешки, на которой сохранен образ Kubuntu. Первым делом выбираем образ для загрузки (у вас будет один, если больше ничего не записали).

5. Boot in normal mode

6. Try or Install Kubuntu

7. Try Kubuntu

8. После загрузки — подключитесь к интернету (WI-FI). Если у вас Ethernet (вы подключены кабелем), ничего не нужно делать
Начиная со следующих шагов, можно смотреть видео:
9. Открываем терминал (Konsole). Вводим команду:
sudo apt update10. Далее устанавливаем утилиту для тестов (fio):
sudo apt install fio11. Теперь нужно определить, какой диск использовать. Если у вас диск (или диски) установлены непосредственно в M2 NVME слот, или диск в USB 4 кармане, т.е. к диску проброшены линии PCIe, они в системе будут называться как: nvme0n1, nvme0n1, nvme2n1 и т.д. Если диск один, то он будет называться nvme0n1. Всё остальное (флешки, карманы на RTL9210B, JMS583 Gen 2 10 Gbps), будут отображаться как: sda, sdb, sdc и т.д. Нас интересует nvme конечно же, если только вы не хотите потестировать свой карман. Карманы 10 Gbps (UASP) естественно медленные по задержкам.
12. Если у вас диск один, он будет называться nvme0n1, а разделы его будут добавляться к этому имени через букву p (partition) и номер раздела начиная с единицы: nvme0n1p1, nvme0n1p2, nvme0n1p3 и т.д. Если диск имеет другое имя, соотвественно будет к примеру nvme1n1p1, nvme1n1p2, nvme1n1p3 и т.д.
13. Для того чтобы определить имя раздела, нужно в терминале (Konsole) выполнить команду:
lsblk14. В результате появится список дисков, и для каждого диска список разделов (отмечено словыми disk для диска и part для раздела). Также виден объем каждого раздела.
15. Если вы хотите посмотреть на ваши разделы в GUI, то можно запустить KDE Partition Manager.
16. Итак к этому моменту вы, допустим, определились с названием раздела. Пусть это будет в моём случае nvme0n1p3 (я провожу тест на 3-х разделах, просто для примера)
17. Где-нибудь, к примеру, в Documents, можно создать папочку, куда сохраниться лог чтения (скорости, при желании потом график можно построить, вот пример графика на запись, но это необязательно: https://content.onliner.by/review/123614/800x800/695ed4104861c8bb ... 118e12.png). Самое главное, что нужно сохранить, это то что утилита выдаёт в консоль/терминал
18. Если у вас ноутбук, переведите его в режим максимальной производительности (а не баланс, или офис). Это добавит скорости, а процессор при этом не напряжет. Просто SSD получит максимум энергии, а CPU меньше сна, т.к. однопоток 4k это довольно вялая задача для ноутбука, процессор без нагрузки чаще попадает в энергоэффективные состояния для экономии батареи, и это увеличивает задержки и несколько подрезает скорость. Если у вас стационарный ПК – делать ничего не нужно. Там всё по максимуму.
19. Открываем Konsole (терминал) в созданной папочке.
20. И вставляем вот такую команду:
sudo fio \
--name=real_world \
--filename=/dev/nvme0n1p3 \
--rw=randread \
--randseed=12345 \
--offset=0 \
--size=50G \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250Что она делает?
--name – произвольное имя
--filename (важный параметр) — это имя раздела, которое нужно указать (то которое вы выбрали в lsblk или KDE Partition Manager)
--rw=randread — случайное чтение
--randseed=12345 — чтобы генератор случайных чисел, при тех же прогонах (на том же разделе), генерировал одинаковы случайны числа (номера секторов). Нужно для того, чтобы обеспечить 100% повторяемость на одном и том же разделе.
--offset=0 — начиная с начала раздела
--size=50G — случайные сектора на чтение будут генерироваться только в диапазоне 50 Gb начиная со смещения (offset), в нашем случае с начала раздела (там где есть данные)
--bs=4k —˛размер блока на чтение (4k)
--direct=1 — работаем в обход кешей операционной системы — напрямую с диском
--ioengine=io_uring — самый быстрый на сегодня (добавляет минимум задержек в тест со стороны ОС) в Linux IO движок. Для Linux их существует несколько, для Windows тоже есть. Но только один вроде (данная утилита существует и под Windows, но изначально она написана под Linux человеком который участвует в разработке ядра под Linux. Поэтому для чистоты результатов использую Linux, под Windows не пробовал)
--iodepth=1 — глубина очереди — 1
--runtime=60 — проводить тест в течение 60 секунд
--norandommap — говорит о том, что номера случайно сгенерированных секторов могут повторяться. Если этот ключ убрать, два раза один и тот же номер сектора не генерируется.
--write_bw_log=pcie_read_speed_50Gb_partition_4k – имя файла для лога (для построения графиков)
--log_avg_msec=250 — записывать показания скорости в лог каждые 250 миллисекунд (4 раза в секунду)
Есть лог не нужен, графики строить не планируете — последние две опции просто удаляйте. Т.е. команда станет вот такой:
sudo fio \
--name=real_world \
--filename=/dev/nvme0n1p3 \
--rw=randread \
--randseed=12345 \
--offset=0 \
--size=50G \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap
21. Далее, на консоли вы получите что-то вроде вывода ниже. Именно его нужно сохранить, и разместить на форуме. В моём конкретном случае здесь происходит следующее.
Я специально сделал раздел на 50 гигов (до этого), и поместил туда файл в 50 гигов. Для чего? Чтобы сектора были заняты. Если сектор в зоне не занят, контроллеры SSD не читают память а отвечают чисто из знания того, что данных там нет. Происходит это очень быстро. К примеру, на незанятых областях Samsung 990 Pro 2 Tb отдаёт "данные" со скоростью где-то 320 мегабайт в секунду, прямо как Intel Optane, что разумеется не правда.
Если соотвественно у вас на разделе будут пустые места, это будет искажать результаты. Но в целом, если вы делаете тест с начала раздела, искажения будут минимальны. Но они будут. В видео вы можете видеть, как разные разделы дают разную скорость (другие чуть повыше).
sudo fio \
--name=real_world \
--filename=/dev/nvme0n1p8 \
--rw=randread \
--randseed=12345 \
--offset=0 \
--size=50G \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=40.1MiB/s][r=10.3k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=5980: Thu Jun 18 06:11:43 2026
read: IOPS=10.9k, BW=42.7MiB/s (44.8MB/s)(2565MiB/60001msec)
slat (usec): min=2, max=2026, avg= 3.82, stdev= 8.08
clat (nsec): min=541, max=14615k, avg=87023.22, stdev=56907.73
lat (usec): min=21, max=14699, avg=90.84, stdev=57.88
clat percentiles (usec):
| 1.00th=[ 63], 5.00th=[ 74], 10.00th=[ 74], 20.00th=[ 75],
| 30.00th=[ 77], 40.00th=[ 79], 50.00th=[ 82], 60.00th=[ 87],
| 70.00th=[ 90], 80.00th=[ 93], 90.00th=[ 98], 95.00th=[ 104],
| 99.00th=[ 128], 99.50th=[ 153], 99.90th=[ 1188], 99.95th=[ 1270],
| 99.99th=[ 1565]
bw ( KiB/s): min=39856, max=48626, per=100.00%, avg=43820.47, stdev=2357.92, samples=239
iops : min=10096, max=12080, avg=10956.79, stdev=554.25, samples=119
lat (nsec) : 750=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.17%
lat (usec) : 100=92.43%, 250=7.05%, 500=0.10%, 750=0.03%, 1000=0.02%
lat (msec) : 2=0.18%, 4=0.01%, 20=0.01%
cpu : usr=1.92%, sys=9.89%, ctx=656733, majf=0, minf=12
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=656530,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=42.7MiB/s (44.8MB/s), 42.7MiB/s-42.7MiB/s (44.8MB/s-44.8MB/s), io=2565MiB (2689MB), run=60001-60001msec
Disk stats (read/write):
nvme0n1: ios=655411/0, sectors=5243288/0, merge=0/0, ticks=51877/0, in_queue=51876, util=86.81%
В целом, тут видны скорости, количество io, и перцентили. Видно, как быстро отвечает ваш диск (к примеру, половина запросов на чтение выше отработала за время до 82 микросекунд (мкс)), а 99 процентов запросов уложились в 128 микросекунд. На сайтах типа TechPowerUp, в базах, есть такой показатель как tR (время чтения из самой памяти, как я понимаю, без учета контроллера и ОС). Можно приблизительно сравнить и понять, соотвествует для всё паспортным характеристикам.
Где они берут это tR, я не знаю. На сайтах производителей я не нашел этих данных. Если они их сами меряют, это будут неточные данные скорее всего.
Ну а теперь, к чему это всё. Пишу как я понимаю процессы.
Samsung 990 Pro 2 Tb демонстрирует интересное поведение в тесте выше. Причём проверено это на двух экземплярах, один из которых практически новый. Если создать раздел в 50 гигабайт, записать туда файл объемом 50 гигабайт (т.е. забить раздел, чтобы почти все его сектора имели какие-то данные), то SSD показывает прекрасные результаты после того как эти данные туда записаны. Всё как в тестах — скорость в районе 93 мегабайт в секунду. А на более мощном железе она может быть и чуть выше. И это в обход кешей. А с кешами и оптимизацией от ОС, а тестируют обычно именно так, скорости будут ещё выше. Потому что программы в основной своей массе работают через ОС.
Но, по просшествии времени (часа 3), или после перезагрузки (у меня получилось именно сразу), чтение данных падает до 57 - 60 мегабайт в секунуду (у меня ноут дает в max performance – 60, в balanced – 57).
Т.е. то что попало в pSLC судя по всему, читается быстро. Т.е. диск ведёт себя так, что если вы работаете прямо сейчас с тем что записали он вам это тут же быстро и способен отдать. Но через часа 3 работы, либо после перезагрузки, те же данные читаются быстрее, но не сильно далеко от Samsung 970 EVO 1 TB, который вышел на рынок в 2018 году.
Также мне случайно попал в руки WD SN850X на 1 Tb, который в таком же тесте первый раз читает данные не так быстро. Держит мегабайт 80 в USB 4 кармане на свежезаписанных данных. Но, он, в отличие от самсунг, либо сохраняет какую-то информацию, либо не производит оптимизаций пока пустой (есть возможность) и продолжает отдавать данные как и раньше, со скоростью 80 мегабайт в секунду. Т.е. поведение у него другое. Отсюда и возникла идея, узнать, а что будет когда он заполнится. Сможет ли он отдавать старые данные (файлы ОС, установленные программы и т.д.) с такой же скоростью как и раньше. Если да, то к примеру для моих сценариев работы, он более предпочтителен. Т.к. я не пишу данные десятками гигабайт каждый день, как наверное и большинство пользователей.
А Samsung в таком случае хорош именно для постоянной записи, т.е. он почти как медленная RAM, только без потерь данных при выключении питания. Если по работе программа которую вы используете генерирует десятки гигабайт и их читает, меняет (перезаписывает) то это будет отличный выбор. Или если вы читаете большие объёмы последовательно, файлы с LLM-ками в десятки гигов — тогда да. PCIe 4 или 5 диск ускорит загрузку.
В других же случаях SSD решает не всё, т.к. ОС ещё использует дисковый кэш. И быстрый процессор и большой объем оперативы решают тут гораздо больше. У меня операционка выделила под дисковый кэш в RAM аж 7.5 гигов (которые я думаю она может урезать если нужно, т.е. я сам ничего не настраивал, и если надо ОС отдаёт мне весь объем — проверено). В итоге когда программа записывает что-то (мелкие файлы всякие), они пишутся в оперативу и сразу как туда попали, считаются записанными для программы. Оттуда же и читаются. И естественно по скорости никакому SSD с оперативой не тягаться, а 7.5 гигов — это приличный объем для дисковых операций. В это время как программа думает, что всё записала, а вы продолжаете работать, ОС с оперативы сбрасывает то что уже якобы записано на диск. Такое можно наблюдать и в Windows. Когда на флешку пишете что-то. Проводник, или Total Commander копирование закончили, а флешка продолжает моргать.
Это я к чему. Если опять же, сценарии использования ПК не предполагают большое количество записей на диск, то любой относительно старый флагман вроде 970 Evo подойдет. Он тоже способен принять данные на запись очень быстро. Да, не так быстро как 990 Pro, но так как работа программ происходит с дисковым кэшем в RAM, разницы видно не будет.
Вот несколько результатов 990 Pro:
--- 1 Создан новый чистый (пустой) раздел в 50 гиг, и в него только что записан файл приблизительно на объем раздела. Время 13:08
sudo fio \
--name=real_world \
--filename=/dev/nvme0n1p7 \
--offset=0 \
--size=50G \
--rw=randread \
--randseed=12345 \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=93.8MiB/s][r=24.0k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=17295: Wed Jun 17 13:08:32 2026
read: IOPS=24.0k, BW=93.7MiB/s (98.3MB/s)(5624MiB/60001msec)
slat (nsec): min=1844, max=210726, avg=3020.26, stdev=1159.38
clat (nsec): min=160, max=237216, avg=38420.77, stdev=2875.15
lat (usec): min=11, max=278, avg=41.44, stdev= 3.52
clat percentiles (usec):
| 1.00th=[ 37], 5.00th=[ 38], 10.00th=[ 38], 20.00th=[ 39],
| 30.00th=[ 39], 40.00th=[ 39], 50.00th=[ 39], 60.00th=[ 39],
| 70.00th=[ 39], 80.00th=[ 39], 90.00th=[ 39], 95.00th=[ 40],
| 99.00th=[ 48], 99.50th=[ 59], 99.90th=[ 70], 99.95th=[ 91],
| 99.99th=[ 102]
bw ( KiB/s): min=91616, max=99680, per=100.00%, avg=96070.65, stdev=684.95, samples=240
iops : min=23372, max=24402, avg=24017.52, stdev=125.89, samples=120
lat (nsec) : 250=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.17%, 50=98.96%
lat (usec) : 100=0.85%, 250=0.01%
cpu : usr=3.86%, sys=16.18%, ctx=1439906, majf=0, minf=11
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=1439839,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=93.7MiB/s (98.3MB/s), 93.7MiB/s-93.7MiB/s (98.3MB/s-98.3MB/s), io=5624MiB (5898MB), run=60001-60001msec
Disk stats (read/write):
nvme0n1: ios=1437369/1, sectors=11498952/0, merge=0/0, ticks=49939/11, in_queue=49962, util=78.61%
--- 2.2 Время 13:46. До перезагрузки. Всё как и выше, только читаем те данные что уже записаны в 13:08. Скорости сохраняются
sudo fio \
--name=real_world \
--filename=/dev/nvme0n1p7 \
--offset=0 \
--size=50G \
--rw=randread \
--randseed=12345 \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=93.0MiB/s][r=23.8k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=21288: Wed Jun 17 13:46:08 2026
read: IOPS=23.9k, BW=93.4MiB/s (97.9MB/s)(5605MiB/60000msec)
slat (nsec): min=1834, max=999239, avg=3078.01, stdev=1805.45
clat (nsec): min=171, max=2168.4k, avg=38498.76, stdev=4904.79
lat (usec): min=10, max=2180, avg=41.58, stdev= 5.63
clat percentiles (usec):
| 1.00th=[ 37], 5.00th=[ 37], 10.00th=[ 37], 20.00th=[ 38],
| 30.00th=[ 39], 40.00th=[ 39], 50.00th=[ 39], 60.00th=[ 39],
| 70.00th=[ 39], 80.00th=[ 39], 90.00th=[ 40], 95.00th=[ 42],
| 99.00th=[ 51], 99.50th=[ 59], 99.90th=[ 81], 99.95th=[ 94],
| 99.99th=[ 109]
bw ( KiB/s): min=89131, max=103312, per=100.00%, avg=95730.93, stdev=1696.74, samples=240
iops : min=22888, max=25010, avg=23932.57, stdev=370.87, samples=120
lat (nsec) : 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.02%, 20=0.16%, 50=98.78%
lat (usec) : 100=1.02%, 250=0.02%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%
cpu : usr=3.86%, sys=16.27%, ctx=1435150, majf=0, minf=12
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=1434794,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=93.4MiB/s (97.9MB/s), 93.4MiB/s-93.4MiB/s (97.9MB/s-97.9MB/s), io=5605MiB (5877MB), run=60000-60000msec
Disk stats (read/write):
nvme0n1: ios=1432429/1, sectors=11459432/0, merge=0/0, ticks=49936/11, in_queue=49957, util=79.77%
--- 2.3 Сразу после перезагрузки. Читаем те же данные, что были записаны 13:08. Время 13:51. Время между соседними тестами (быстрым и медленным) — минут 5. Также имя диска изменилось. Ubuntu то один диск считает первым, то второй. Но это один и тот же раздел и диск.
sudo fio \
--name=real_world \
--filename=/dev/nvme1n1p7 \
--offset=0 \
--size=50G \
--rw=randread \
--randseed=12345 \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=57.6MiB/s][r=14.7k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=8026: Wed Jun 17 13:51:14 2026
read: IOPS=14.7k, BW=57.3MiB/s (60.1MB/s)(3436MiB/60001msec)
slat (nsec): min=1723, max=300795, avg=3178.59, stdev=2001.40
clat (nsec): min=130, max=11003k, avg=64767.15, stdev=15132.47
lat (usec): min=10, max=11111, avg=67.95, stdev=15.66
clat percentiles (usec):
| 1.00th=[ 49], 5.00th=[ 55], 10.00th=[ 55], 20.00th=[ 55],
| 30.00th=[ 56], 40.00th=[ 67], 50.00th=[ 67], 60.00th=[ 68],
| 70.00th=[ 73], 80.00th=[ 73], 90.00th=[ 74], 95.00th=[ 75],
| 99.00th=[ 84], 99.50th=[ 100], 99.90th=[ 128], 99.95th=[ 135],
| 99.99th=[ 163]
bw ( KiB/s): min=56640, max=60256, per=100.00%, avg=58697.22, stdev=504.45, samples=240
iops : min=14390, max=14976, avg=14674.19, stdev=108.57, samples=120
lat (nsec) : 250=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.17%, 50=1.00%
lat (usec) : 100=98.34%, 250=0.48%, 500=0.01%, 750=0.01%
lat (msec) : 2=0.01%, 20=0.01%
cpu : usr=2.47%, sys=10.36%, ctx=879856, majf=0, minf=13
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=879698,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=57.3MiB/s (60.1MB/s), 57.3MiB/s-57.3MiB/s (60.1MB/s-60.1MB/s), io=3436MiB (3603MB), run=60001-60001msec
Disk stats (read/write):
nvme1n1: ios=877820/0, sectors=7022560/0, merge=0/0, ticks=53471/0, in_queue=53471, util=88.92%
---
А вот WD SN850X через USB 4 карман (диск подключен несколько часов, думаю больше 8. Выдержал отключения и перезагрузки. Я ждал когда у него упадет скорость, но не дождался)
--- Тест 16-го числа. Скорее всего сразу после создания раздела и записи файла. Время как видно, 14:33
sudo fio \
--name=real_world \
--filename=/dev/nvme1n1p2 \
--rw=randread \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=79.5MiB/s][r=20.4k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=37475: Tue Jun 16 14:33:09 2026
read: IOPS=20.5k, BW=80.1MiB/s (84.0MB/s)(4804MiB/60001msec)
slat (nsec): min=1853, max=758595, avg=3032.60, stdev=1506.60
clat (nsec): min=140, max=3641.8k, avg=45502.76, stdev=10326.89
lat (usec): min=12, max=3656, avg=48.54, stdev=10.65
clat percentiles (usec):
| 1.00th=[ 14], 5.00th=[ 45], 10.00th=[ 45], 20.00th=[ 46],
| 30.00th=[ 46], 40.00th=[ 46], 50.00th=[ 46], 60.00th=[ 46],
| 70.00th=[ 46], 80.00th=[ 47], 90.00th=[ 48], 95.00th=[ 48],
| 99.00th=[ 57], 99.50th=[ 66], 99.90th=[ 98], 99.95th=[ 103],
| 99.99th=[ 119]
bw ( KiB/s): min=79646, max=85008, per=100.00%, avg=82061.88, stdev=679.51, samples=240
iops : min=20082, max=20991, avg=20515.41, stdev=130.87, samples=120
lat (nsec) : 250=0.01%, 500=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=1.87%, 50=95.22%
lat (usec) : 100=2.84%, 250=0.07%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%
cpu : usr=2.80%, sys=14.55%, ctx=1230048, majf=0, minf=14
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=1229928,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=80.1MiB/s (84.0MB/s), 80.1MiB/s-80.1MiB/s (84.0MB/s-84.0MB/s), io=4804MiB (5038MB), run=60001-60001msec
Disk stats (read/write):
nvme1n1: ios=1227562/1, sectors=9820496/0, merge=0/0, ticks=51245/1, in_queue=51245, util=88.11%
--- Тест вчера, тот же раздел. Старый данные
sudo fio \
--name=real_world \
--filename=/dev/nvme2n1p2 \
--offset=0 \
--size=50G \
--rw=randread \
--randseed=12345 \
--bs=4k \
--direct=1 \
--ioengine=io_uring \
--iodepth=1 \
--runtime=60 \
--time_based \
--norandommap \
--write_bw_log=pcie_read_speed_50Gb_partition_4k \
--log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=80.3MiB/s][r=20.5k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=15538: Wed Jun 17 13:01:36 2026
read: IOPS=20.5k, BW=80.0MiB/s (83.9MB/s)(4800MiB/60001msec)
slat (nsec): min=1713, max=143390, avg=3020.71, stdev=1277.91
clat (nsec): min=171, max=1073.4k, avg=45585.96, stdev=6768.18
lat (usec): min=12, max=1182, avg=48.61, stdev= 7.17
clat percentiles (usec):
| 1.00th=[ 14], 5.00th=[ 45], 10.00th=[ 45], 20.00th=[ 46],
| 30.00th=[ 46], 40.00th=[ 46], 50.00th=[ 46], 60.00th=[ 46],
| 70.00th=[ 46], 80.00th=[ 47], 90.00th=[ 48], 95.00th=[ 48],
| 99.00th=[ 58], 99.50th=[ 69], 99.90th=[ 145], 99.95th=[ 147],
| 99.99th=[ 159]
bw ( KiB/s): min=36128, max=85536, per=100.00%, avg=81983.59, stdev=3317.28, samples=240
iops : min=12158, max=20914, avg=20495.83, stdev=774.47, samples=120
lat (nsec) : 250=0.01%, 500=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=1.86%, 50=94.91%
lat (usec) : 100=3.04%, 250=0.18%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=0.01%
cpu : usr=3.40%, sys=13.81%, ctx=1228760, majf=0, minf=12
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=1228711,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=80.0MiB/s (83.9MB/s), 80.0MiB/s-80.0MiB/s (83.9MB/s-83.9MB/s), io=4800MiB (5033MB), run=60001-60001msec
Disk stats (read/write):
nvme2n1: ios=1226382/0, sectors=9811056/0, merge=0/0, ticks=51334/0, in_queue=51334, util=83.15%
--- Тест сегодня (только что). Старые данные (записаны 16-го)
sudo fio --name=real_world --filename=/dev/nvme2n1p2 --rw=randread --bs=4k --direct=1 --ioengine=io_uring --iodepth=1 --runtime=60 --time_based --norandommap --write_bw_log=pcie_read_speed_50Gb_partition_4k --log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=78.9MiB/s][r=20.2k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=26242: Thu Jun 18 13:10:10 2026
read: IOPS=20.3k, BW=79.3MiB/s (83.1MB/s)(4758MiB/60001msec)
slat (nsec): min=1853, max=739150, avg=3193.15, stdev=1833.12
clat (nsec): min=171, max=1702.8k, avg=45820.50, stdev=6256.42
lat (usec): min=12, max=1717, avg=49.01, stdev= 6.83
clat percentiles (usec):
| 1.00th=[ 14], 5.00th=[ 45], 10.00th=[ 45], 20.00th=[ 46],
| 30.00th=[ 46], 40.00th=[ 46], 50.00th=[ 46], 60.00th=[ 46],
| 70.00th=[ 47], 80.00th=[ 47], 90.00th=[ 48], 95.00th=[ 50],
| 99.00th=[ 58], 99.50th=[ 65], 99.90th=[ 98], 99.95th=[ 103],
| 99.99th=[ 149]
bw ( KiB/s): min=79120, max=83293, per=100.00%, avg=81269.02, stdev=693.01, samples=240
iops : min=19961, max=20731, avg=20317.11, stdev=138.29, samples=120
lat (nsec) : 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=1.85%, 50=93.79%
lat (usec) : 100=4.28%, 250=0.07%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=0.01%
cpu : usr=3.40%, sys=14.43%, ctx=1218313, majf=0, minf=11
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=1217985,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=79.3MiB/s (83.1MB/s), 79.3MiB/s-79.3MiB/s (83.1MB/s-83.1MB/s), io=4758MiB (4989MB), run=60001-60001msec
Disk stats (read/write):
nvme2n1: ios=1215685/1, sectors=9725480/0, merge=0/0, ticks=51019/1, in_queue=51020, util=83.92%
--- Выше balanced по питанию (ноутбук). В High Performance отдаёт ещё быстрее. Те же старые данные (записаны 16-го)
sudo fio --name=real_world --filename=/dev/nvme2n1p2 --rw=randread --bs=4k --direct=1 --ioengine=io_uring --iodepth=1 --runtime=60 --time_based --norandommap --write_bw_log=pcie_read_speed_50Gb_partition_4k --log_avg_msec=250
real_world: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.41
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=85.1MiB/s][r=21.8k IOPS][eta 00m:00s]
real_world: (groupid=0, jobs=1): err= 0: pid=26461: Thu Jun 18 13:13:36 2026
read: IOPS=21.8k, BW=85.0MiB/s (89.2MB/s)(5102MiB/60001msec)
slat (nsec): min=1823, max=368282, avg=2164.27, stdev=1009.91
clat (nsec): min=90, max=448403, avg=43616.37, stdev=5093.44
lat (usec): min=12, max=450, avg=45.78, stdev= 5.33
clat percentiles (nsec):
| 1.00th=[11456], 5.00th=[42752], 10.00th=[43264], 20.00th=[43264],
| 30.00th=[43264], 40.00th=[43776], 50.00th=[43776], 60.00th=[43776],
| 70.00th=[44288], 80.00th=[44800], 90.00th=[45312], 95.00th=[45824],
| 99.00th=[51456], 99.50th=[60672], 99.90th=[72192], 99.95th=[74240],
| 99.99th=[82432]
bw ( KiB/s): min=85728, max=88176, per=100.00%, avg=87118.07, stdev=465.94, samples=240
iops : min=21472, max=22022, avg=21779.08, stdev=94.62, samples=120
lat (nsec) : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=1.90%, 50=96.80%
lat (usec) : 100=1.29%, 250=0.01%, 500=0.01%
cpu : usr=2.44%, sys=10.19%, ctx=1306354, majf=0, minf=10
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=1306078,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=85.0MiB/s (89.2MB/s), 85.0MiB/s-85.0MiB/s (89.2MB/s-89.2MB/s), io=5102MiB (5350MB), run=60001-60001msec
Disk stats (read/write):
nvme2n1: ios=1303492/1, sectors=10427936/0, merge=0/0, ticks=53721/1, in_queue=53722, util=90.50%
pypkin:а смысл всех этих действий?
Такой же как в любом тестировании.
1. Если устройства нет, определить для покупки наиболее удовлетворяющее целям в конкретном случае.
2. Если есть, решать стоит ли менять (апгрейдить) опять же — в каждом конкретном случае.
Radiator:pypkin:а смысл всех этих действий?
Такой же как в любом тестировании.
1. Если устройства нет, определить для покупки наиболее удовлетворяющее целям в конкретном случае.
2. Если есть, решать стоит ли менять (апгрейдить) опять же — в каждом конкретном случае.
1... как бы определить для покупки, при этом запрос был изначально про давно установленную систему... Т.е. за это время могли не то что заменить начиинку\оптимизировать ПО, вообще снять и пустить новый тип памяти винтов и контроллеры обновить.... Т.е. этот пункт мимо.
2. Тут уже сколько раз писали что разницу увидишь на грани погрешности в реальных задачах, если стоял не дешман, то почти всегда нет смысла менять.
Radiator:Но, по просшествии времени (часа 3), или после перезагрузки (у меня получилось именно сразу), чтение данных падает до 57 - 60 мегабайт в секунуду (у меня ноут дает в max performance – 60, в balanced – 57).
... а не думал что сама прошивка\винт в этот момент что-то производит параллельно и т.п.
Ток елси ASM что-то прокомментирует, а так как бы много букав и движений, по этому даже лень начинать тестирование...
slon2003, так просто пройди мимо.
по этому даже лень начинать тестирование...
Ну у кого-то может есть спортивный интерес. Форум не ограничивается только вами.
Cassidy:slon2003, так просто пройди мимо.
по этому даже лень начинать тестирование...
Ну у кого-то может есть спортивный интерес. Форум не ограничивается только вами.
я очень ценю твои советы...
Может поймешь что я написал на его 2 пункта. Не поймешь, тут тогда уже не поможешь тебе...
Зы. по теме можешь написать, почему оно так, или просто абы написать?