LINUX.ORG.RU

BFQ не очень хорош для многих SSD

 , , mq-deadline,


2

2

Public Service Announcement:

Случайно обнаружил, что bfq на многих ssd сводит производительность к однопоточной.
На nvme и sata Samsung’ах всё в порядке, и пропускная способность bfq растёт с количеством одновременных запросов.
А на ADATA и Transcend вот так:

    Device Model:     TS256GMTS400S
    Serial Number:    0F109200E32506200140
    Firmware Version: P1225CH4
    ATA Version is:   ACS-2 (minor revision not indicated)
    SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
    Timing O_DIRECT disk reads: 1472 MB in  3.00 seconds = 489.96 MB/sec

    /dev/sda, 256.06 GB, 1 threads:
     512   B blocks: 11361.3 IO/s,   5.5 MiB/s ( 46.5 Mbit/s)
       1 KiB blocks: 7762.1 IO/s,   7.6 MiB/s ( 63.6 Mbit/s)
       2 KiB blocks: 4545.7 IO/s,   8.9 MiB/s ( 74.5 Mbit/s)
       4 KiB blocks: 2476.4 IO/s,   9.7 MiB/s ( 81.1 Mbit/s)
       8 KiB blocks: 2483.9 IO/s,  19.4 MiB/s (162.8 Mbit/s)
      16 KiB blocks: 2271.1 IO/s,  35.5 MiB/s (297.7 Mbit/s)
      32 KiB blocks: 1941.6 IO/s,  60.7 MiB/s (509.0 Mbit/s)
      64 KiB blocks: 1360.1 IO/s,  85.0 MiB/s (713.1 Mbit/s)
     128 KiB blocks:  968.5 IO/s, 121.1 MiB/s (  1.0 Gbit/s)

    /dev/sda, 256.06 GB, 4 threads:
     512   B blocks: 12958.1 IO/s,   6.3 MiB/s ( 53.1 Mbit/s)
       1 KiB blocks: 8832.4 IO/s,   8.6 MiB/s ( 72.4 Mbit/s)
       2 KiB blocks: 4945.6 IO/s,   9.7 MiB/s ( 81.0 Mbit/s)
       4 KiB blocks: 2598.6 IO/s,  10.2 MiB/s ( 85.2 Mbit/s)
       8 KiB blocks: 2553.3 IO/s,  19.9 MiB/s (167.3 Mbit/s)
      16 KiB blocks: 2410.9 IO/s,  37.7 MiB/s (316.0 Mbit/s)
      32 KiB blocks: 2089.0 IO/s,  65.3 MiB/s (547.6 Mbit/s)
      64 KiB blocks: 1463.4 IO/s,  91.5 MiB/s (767.2 Mbit/s)
     128 KiB blocks: 1056.8 IO/s, 132.1 MiB/s (  1.1 Gbit/s)

Этот же Transcend, но с mq-deadline:

/dev/sda, 256.06 GB, 4 threads:
 512   B blocks: 42803.6 IO/s,  20.9 MiB/s (175.3 Mbit/s)
   1 KiB blocks: 34526.3 IO/s,  33.7 MiB/s (282.8 Mbit/s)
   2 KiB blocks: 24795.4 IO/s,  48.4 MiB/s (406.2 Mbit/s)
   4 KiB blocks: 15848.5 IO/s,  61.9 MiB/s (519.3 Mbit/s)
   8 KiB blocks: 15403.9 IO/s, 120.3 MiB/s (  1.0 Gbit/s)
  16 KiB blocks: 9705.9 IO/s, 151.7 MiB/s (  1.3 Gbit/s)
  32 KiB blocks: 5583.4 IO/s, 174.5 MiB/s (  1.5 Gbit/s)
  64 KiB blocks: 2967.9 IO/s, 185.5 MiB/s (  1.6 Gbit/s)
 128 KiB blocks: 1666.6 IO/s, 208.3 MiB/s (  1.7 Gbit/s)

Если у вас не Самсунг, то bfq лучше не использовать.

P.S. Ещё едет терабайтный WD Blue, дополню позже.
P.P.S. Linux lin 5.10.0-0.bpo.5-amd64 #1 SMP Debian 5.10.24-1~bpo10+1 (2021-03-29) x86_64 GNU/Linux

★★★★★
Ответ на: комментарий от aidaho

единственный персонаж в треде с бенчмарками и пруфами чего-либо, это я

А ты весёлый! Мы только начали, погоди, всё будет.

shleemypants
()
Ответ на: комментарий от intelfx

Да, в общем в самом патче написано. Вот ещё нарыл в архивах.

Как я понимаю, kyber придумали для быстрого приоритетного чтения (facebook-же). Две очереди: синхронная запись и асинхронное чтение. Чтение в приоритете. Два параметра-задержки (read_lat_nsec и write_lat_nsec), а он уже сам подстраивает очереди под требуемые задержки.

SkyMaverick ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.