ืžื“ื•ืข ื”-NVMe ืฉืœื™ ืื™ื˜ื™ ื™ื•ืชืจ ืž-SSD?

ืžื“ื•ืข ื”-NVMe ืฉืœื™ ืื™ื˜ื™ ื™ื•ืชืจ ืž-SSD?
ื‘ืžืืžืจ ื–ื”, ื ื‘ื—ืŸ ื›ืžื” ืžื”ื ื™ื•ืื ืกื™ื ืฉืœ ืชืช-ืžืขืจื›ืช ื”-I/O ื•ื”ืฉืคืขืชื ืขืœ ื”ื‘ื™ืฆื•ืขื™ื.

ืœืคื ื™ ืฉื‘ื•ืขื™ื™ื ื ืชืงืœืชื™ ื‘ืฉืืœื” ืžื“ื•ืข NVMe ื‘ืฉืจืช ืื—ื“ ืื™ื˜ื™ ื™ื•ืชืจ ืž-SATA ื‘ืฉืจืช ืื—ืจ. ื”ืกืชื›ืœืชื™ ืขืœ ื”ืžืืคื™ื™ื ื™ื ืฉืœ ื”ืฉืจืชื™ื ื•ื”ื‘ื ืชื™ ืฉื–ื• ืฉืืœืช ื˜ืจื™ืง: NVMe ื”ื™ื” ืžืงื˜ืข ื”ืžืฉืชืžืฉ, ื•-SSD ื”ื™ื” ืžืงื˜ืข ื”ืฉืจืชื™ื.

ื‘ืจื•ืจ ืฉืœื ื ื›ื•ืŸ ืœื”ืฉื•ื•ืช ื‘ื™ืŸ ืžื•ืฆืจื™ื ืžืžื’ื–ืจื™ื ืฉื•ื ื™ื ื‘ืกื‘ื™ื‘ื•ืช ืฉื•ื ื•ืช, ืื‘ืœ ื–ื• ืœื ืชืฉื•ื‘ื” ื˜ื›ื ื™ืช ืžืžืฆื”. ื ืœืžื“ ืืช ื”ื™ืกื•ื“ื•ืช, ื ืขืจื•ืš ื ื™ืกื•ื™ื™ื ื•ื ื™ืชืŸ ืชืฉื•ื‘ื” ืœืฉืืœื” ืฉื ืฉืืœื”.

ืžื”ื• fsync ื•ื”ื™ื›ืŸ ืžืฉืชืžืฉื™ื ื‘ื•

ื›ื“ื™ ืœื”ืื™ืฅ ืืช ื”ืขื‘ื•ื“ื” ืขื ื›ื•ื ื ื™ื, ื”ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื, ื›ืœื•ืžืจ ืžืื•ื—ืกื ื™ื ื‘ื–ื™ื›ืจื•ืŸ ื”ืคื›ืคืš ืขื“ ืฉืชืชืงื™ื™ื ื”ื–ื“ืžื ื•ืช ื ื•ื—ื” ืœืฉืžื•ืจ ืืช ืชื•ื›ืŸ ื”ืžืื’ืจ ื‘ื›ื•ื ืŸ. ืงืจื™ื˜ืจื™ื•ื ื™ ื”ื”ื–ื“ืžื ื•ืช ื ืงื‘ืขื™ื ืขืœ ืคื™ ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ืžืืคื™ื™ื ื™ ื”ื›ื•ื ืŸ. ื‘ืžืงืจื” ืฉืœ ื”ืคืกืงืช ื—ืฉืžืœ, ื›ืœ ื”ื ืชื•ื ื™ื ื‘ืžืื’ืจ ื™ืื‘ื“ื•.

ื™ืฉื ืŸ ืžืกืคืจ ืžืฉื™ืžื•ืช ืฉื‘ื”ืŸ ืฆืจื™ืš ืœื”ื™ื•ืช ื‘ื˜ื•ื— ืฉื”ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื‘ืฅ ื ื›ืชื‘ื™ื ืœื›ื•ื ืŸ, ื•ืื™ื ื ื˜ืžื•ื ื™ื ื‘ืžืื’ืจ ื‘ื™ื ื™ื™ื. ื ื™ืชืŸ ืœืงื‘ืœ ื”ื‘ื˜ื—ื” ื–ื• ื‘ืืžืฆืขื•ืช ืงืจื™ืืช ืžืขืจื›ืช fsync ืชื•ืืžืช POSIX. ืงืจื™ืืช fsync ืžืืœืฆืช ื›ืชื™ื‘ื” ืžื”ืžืื’ืจ ืœื›ื•ื ืŸ.

ื‘ื•ืื• ื ื“ื’ื™ื ืืช ื”ื”ืฉืคืขื” ืฉืœ ื—ื•ืฆืฆื™ื ืขื ื“ื•ื’ืžื” ืžืœืื›ื•ืชื™ืช ื‘ืฆื•ืจื” ืฉืœ ืชื•ื›ื ื™ืช C ืงืฆืจื”.

#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>

int main(void) {
    /* ะžั‚ะบั€ั‹ะฒะฐะตะผ ั„ะฐะนะป answer.txt ะฝะฐ ะทะฐะฟะธััŒ, ะตัะปะธ ะตะณะพ ะฝะตั‚ -- ัะพะทะดะฐั‘ะผ */
    int fd = open("answer.txt", O_WRONLY | O_CREAT);
    /* ะ—ะฐะฟะธัั‹ะฒะฐะตะผ ะฟะตั€ะฒั‹ะน ะฝะฐะฑะพั€ ะดะฐะฝะฝั‹ั… */
    write(fd, "Answer to the Ultimate Question of Life, The Universe, and Everything: ", 71);
    /* ะ”ะตะปะฐะตะผ ะฒะธะด, ั‡ั‚ะพ ะฟั€ะพะฒะพะดะธะผ ะฒั‹ั‡ะธัะปะตะฝะธั ะฒ ั‚ะตั‡ะตะฝะธะต 10 ัะตะบัƒะฝะด */
    sleep(10);
    /* ะ—ะฐะฟะธัั‹ะฒะฐะตะผ ั€ะตะทัƒะปัŒั‚ะฐั‚ ะฒั‹ั‡ะธัะปะตะฝะธะน */
    write(fd, "42n", 3); 

    return 0;
}

ื”ืขืจื•ืช ืžืกื‘ื™ืจื•ืช ื”ื™ื˜ื‘ ืืช ืจืฆืฃ ื”ืคืขื•ืœื•ืช ื‘ืชื•ื›ื ื™ืช. ื”ื˜ืงืกื˜ "ื”ืชืฉื•ื‘ื” ืœืฉืืœื” ื”ืขื™ืงืจื™ืช ืฉืœ ื”ื—ื™ื™ื, ื”ื™ืงื•ื ื•ื›ืœ ื–ื”" ื™ื•ื—ื–ืง ืขืœ ื™ื“ื™ ืžืขืจื›ืช ื”ื”ืคืขืœื”, ื•ืื ืชืคืขื™ืœ ืžื—ื“ืฉ ืืช ื”ืฉืจืช ืขืœ ื™ื“ื™ ืœื—ื™ืฆื” ืขืœ ื›ืคืชื•ืจ ื”-Reset ื‘ืžื”ืœืš "ื—ื™ืฉื•ื‘ื™ื", ื”ืงื•ื‘ืฅ ื™ื”ื™ื” ืจื™ืง. ื‘ื“ื•ื’ืžื” ืฉืœื ื•, ืื•ื‘ื“ืŸ ื˜ืงืกื˜ ืื™ื ื• ื‘ืขื™ื”, ื•ืœื›ืŸ ืื™ืŸ ืฆื•ืจืš ื‘-fsync. ืžืื’ืจื™ ืžื™ื“ืข ืื™ื ื ืฉื•ืชืคื™ื ืœืื•ืคื˜ื™ืžื™ื•ืช ื”ื–ื•.

ืžืกื“ื™ ื ืชื•ื ื™ื ื”ื ืชื•ื›ื ื•ืช ืžื•ืจื›ื‘ื•ืช ืฉืขื•ื‘ื“ื•ืช ืขื ืงื‘ืฆื™ื ืจื‘ื™ื ื‘ื• ื–ืžื ื™ืช, ื•ืœื›ืŸ ื”ื ืจื•ืฆื™ื ืœื”ื™ื•ืช ื‘ื˜ื•ื—ื™ื ืฉื”ื ืชื•ื ื™ื ืฉื”ื ื›ื•ืชื‘ื™ื ื™ืื•ื—ืกื ื• ื‘ื›ื•ื ืŸ, ืฉื›ืŸ ืขืงื‘ื™ื•ืช ื”ื ืชื•ื ื™ื ื‘ืชื•ืš ืžืกื“ ื”ื ืชื•ื ื™ื ืชืœื•ื™ื” ื‘ื›ืš. ืžืื’ืจื™ ื”ืžื™ื“ืข ืžื™ื•ืขื“ื™ื ืœืชืขื“ ืืช ื›ืœ ื”ืขืกืงืื•ืช ืฉื”ื•ืฉืœืžื• ื•ืœื”ื™ื•ืช ืžื•ื›ื ื™ื ืœื”ืคืกืงืช ื—ืฉืžืœ ื‘ื›ืœ ืจื’ืข. ื”ืชื ื”ื’ื•ืช ื–ื• ืžื—ื™ื™ื‘ืช ืื•ืชืš ืœื”ืฉืชืžืฉ ื‘-fsync ื›ืœ ื”ื–ืžืŸ ื‘ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช.

ืžื” ืžืฉืคื™ืข ืขืœ ื”ืฉื™ืžื•ืฉ ื”ืชื›ื•ืฃ ื‘-fsync

ืขื ืงืœื˜/ืคืœื˜ ืจื’ื™ืœ, ืžืขืจื›ืช ื”ื”ืคืขืœื” ืžื ืกื” ืœื™ื™ืขืœ ืืช ืชืงืฉื•ืจืช ื”ื“ื™ืกืงื™ื, ืฉื›ืŸ ื›ื•ื ื ื™ื ื—ื™ืฆื•ื ื™ื™ื ื”ื ื”ืื™ื˜ื™ื™ื ื‘ื™ื•ืชืจ ื‘ื”ื™ืจืจื›ื™ื™ืช ื”ื–ื™ื›ืจื•ืŸ. ืœื›ืŸ, ืžืขืจื›ืช ื”ื”ืคืขืœื” ืžื ืกื” ืœื›ืชื•ื‘ ื›ืžื” ืฉื™ื•ืชืจ ื ืชื•ื ื™ื ื‘ื’ื™ืฉื” ืื—ืช ืœื›ื•ื ืŸ.

ื‘ื•ืื• ื ื“ื’ื™ื ืืช ื”ื”ืฉืคืขื” ืฉืœ ืฉื™ืžื•ืฉ ื‘-fsync ืขื ื“ื•ื’ืžื” ืกืคืฆื™ืคื™ืช. ื™ืฉ ืœื ื• ืืช ื›ื•ื ื ื™ ื”-SSD ื”ื‘ืื™ื ื›ื ื‘ื“ืงื™ื:

  • Intelยฎ DC SSD S4500 480 GB, ืžื—ื•ื‘ืจ ื‘ืืžืฆืขื•ืช SATA 3.2, 6 Gb/s;
  • Samsung 970 EVO Plus 500GB, ืžื—ื•ื‘ืจ ื‘ืืžืฆืขื•ืช PCIe 3.0 x4, ~31 Gbps.

ื”ื‘ื“ื™ืงื•ืช ืžืชื‘ืฆืขื•ืช ืขืœ Intelยฎ Xeonยฎ W-2255 ืขื ืื•ื‘ื•ื ื˜ื• 20.04. ื›ื“ื™ ืœื‘ื“ื•ืง ื“ื™ืกืงื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-sysbench 1.0.18. ืœื“ื™ืกืงื™ื ื™ืฉ ืžื—ื™ืฆื” ืื—ืช ื”ืžืขื•ืฆื‘ืช ื›-ext4. ื”ื”ื›ื ื” ืœื‘ื“ื™ืงื” ื”ื™ื ืœื™ืฆื•ืจ ืงื‘ืฆื™ื ืฉืœ 100 GB:

sysbench --test=fileio --file-total-size=100G prepare

ื‘ื“ื™ืงื•ืช ืจื™ืฆื”:

# ะ‘ะตะท fsync
sysbench --num-threads=16 --test=fileio --file-test-mode=rndrw --file-fsync-freq=0 run

# ะก fsync ะฟะพัะปะต ะบะฐะถะดะพะน ะทะฐะฟะธัะธ
sysbench --num-threads=16 --test=fileio --file-test-mode=rndrw --file-fsync-freq=1 run

ืชื•ืฆืื•ืช ื”ื‘ื“ื™ืงื” ืžื•ืฆื’ื•ืช ื‘ื˜ื‘ืœื”.

ืžื‘ื—ืŸ
Intelยฎ S4500
Samsung 970 EVO+

ืงืจื™ืื” ืœืœื fsync, MiB/s
5734.89
9028.86

ื›ืชื•ื‘ ืœืœื fsync, MiB/s
3823.26
6019.24

ืงืจื™ืื” ืขื fsync, MiB/s
37.76
3.27

ื”ืงืœื˜ื” ืขื fsync, MiB/s
25.17
2.18

ืงืœ ืœืจืื•ืช ืฉ-NVMe ืžืงื˜ืข ื”ืœืงื•ื— ืžื•ื‘ื™ืœ ื‘ื‘ื™ื˜ื—ื•ืŸ ื›ืืฉืจ ืžืขืจื›ืช ื”ื”ืคืขืœื” ืขืฆืžื” ืžื—ืœื™ื˜ื” ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื“ื™ืกืงื™ื, ื•ืžืคืกื™ื“ื” ื›ืืฉืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-fsync. ื–ื” ืžืขืœื” ืฉืชื™ ืฉืืœื•ืช:

  1. ืžื“ื•ืข ืžื”ื™ืจื•ืช ื”ืงืจื™ืื” ืขื•ืœื” ืขืœ ืจื•ื—ื‘ ื”ืคืก ื”ืคื™ื–ื™ ืฉืœ ื”ืงื™ืฉื•ืจ ื‘ื‘ื“ื™ืงื” ืœืœื fsync?
  2. ืžื“ื•ืข ืžืงื˜ืข ืฉืจืช SSD ื˜ื•ื‘ ื™ื•ืชืจ ื‘ื˜ื™ืคื•ืœ ื‘ืžืกืคืจ ืจื‘ ืฉืœ ื‘ืงืฉื•ืช fsync?

ื”ืชืฉื•ื‘ื” ืœืฉืืœื” ื”ืจืืฉื•ื ื” ืคืฉื•ื˜ื”: sysbench ืžื™ื™ืฆืจืช ืงื‘ืฆื™ื ื‘ืžื™ืœื•ื™ ืืคืก. ืœืคื™ื›ืš, ื”ื‘ื“ื™ืงื” ื‘ื•ืฆืขื” ืžืขืœ 100 ื’ื™ื’ื”-ื‘ื™ื™ื˜ ืฉืœ ืืคืกื™ื. ืžื›ื™ื•ื•ืŸ ืฉื”ื ืชื•ื ื™ื ืžืื•ื“ ืื—ื™ื“ื™ื ื•ืฆืคื•ื™ื™ื, ื ื›ื ืกื•ืช ืœืคืขื•ืœื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืฉื•ื ื•ืช ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื”, ื•ื”ืŸ ืžืื™ืฆื•ืช ืžืฉืžืขื•ืชื™ืช ืืช ื”ื‘ื™ืฆื•ืข.

ืื ืืชื” ืžื˜ื™ืœ ืกืคืง ื‘ื›ืœ ื”ืชื•ืฆืื•ืช ืฉืœ sysbench, ืื– ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-fio.

# ะ‘ะตะท fsync
fio --name=test1 --blocksize=16k --rw=randrw --iodepth=16 --runtime=60 --rwmixread=60 --fsync=0 --filename=/dev/sdb

# ะก fsync ะฟะพัะปะต ะบะฐะถะดะพะน ะทะฐะฟะธัะธ
fio --name=test1 --blocksize=16k --rw=randrw --iodepth=16 --runtime=60 --rwmixread=60 --fsync=1 --filename=/dev/sdb

ืžื‘ื—ืŸ
Intelยฎ S4500
Samsung 970 EVO+

ืงืจื™ืื” ืœืœื fsync, MiB/s
45.5
178

ื›ืชื•ื‘ ืœืœื fsync, MiB/s
30.4
119

ืงืจื™ืื” ืขื fsync, MiB/s
32.6
20.9

ื”ืงืœื˜ื” ืขื fsync, MiB/s
21.7
13.9

ื”ืžื’ืžื” ืœื™ืจื™ื“ื” ื‘ื‘ื™ืฆื•ืขื™ื ื‘-NVMe ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-fsync ื ืจืื™ืช ื‘ื‘ื™ืจื•ืจ. ืืชื” ื™ื›ื•ืœ ืœืขื‘ื•ืจ ืœืฉืืœื” ื”ืฉื ื™ื™ื”.

ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืื• ื‘ืœื•ืฃ

ืงื•ื“ื ืืžืจื ื• ืฉื”ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื‘ืžืื’ืจ, ืื‘ืœ ืœื ืฆื™ื™ื ื• ื‘ืื™ื–ื” ืžื”ื, ื›ื™ ื–ื” ืœื ื”ื™ื” ื—ืฉื•ื‘. ื’ื ื›ืขืช ืœื ื ืขืžื™ืง ื‘ืžื•ืจื›ื‘ื•ืช ืฉืœ ืžืขืจื›ื•ืช ื”ืคืขืœื” ื•ื ืคืจื˜ ืฉื ื™ ืกื•ื’ื™ื ื›ืœืœื™ื™ื ืฉืœ ืžืื’ืจื™ื:

  • ืชื›ื ื™ืช;
  • ื—ื•ึผืžืจึธื”.

ืžืื’ืจ ื”ืชื•ื›ื ื” ืžืชื™ื™ื—ืก ืœืžืื’ืจื™ื ืฉื ืžืฆืื™ื ื‘ืžืขืจื›ืช ื”ื”ืคืขืœื”, ื•ืžืื’ืจ ื”ื—ื•ืžืจื” ืžืชื™ื™ื—ืก ืœื–ื™ื›ืจื•ืŸ ื”ื ื“ื™ืฃ ืฉืœ ื‘ืงืจ ื”ื“ื™ืกืง. ืงืจื™ืืช ื”ืžืขืจื›ืช fsync ืฉื•ืœื—ืช ืคืงื•ื“ื” ืœื›ื•ื ืŸ ืœื›ืชื•ื‘ ื ืชื•ื ื™ื ืžื”ืžืื’ืจ ืฉืœื• ืœืื—ืกื•ืŸ ื”ืจืืฉื™, ืืš ืื™ืŸ ืœื” ื“ืจืš ืœืฉืœื•ื˜ ื‘ื‘ื™ืฆื•ืข ื”ื ื›ื•ืŸ ืฉืœ ื”ืคืงื•ื“ื”.

ืžื›ื™ื•ื•ืŸ ืฉื”-SSD ืžืชืคืงื“ ื˜ื•ื‘ ื™ื•ืชืจ, ื ื™ืชืŸ ืœื”ื ื™ื— ืฉืชื™ ื”ื ื—ื•ืช:

  • ื”ื“ื™ืกืง ืžื™ื•ืขื“ ืœืขื•ืžืก ืฉืœ ืชื•ื›ื ื™ืช ื“ื•ืžื”;
  • ื”ื“ื™ืกืง "ืžื‘ืœืฃ" ื•ืžืชืขืœื ืžื”ืคืงื•ื“ื”.

ื ื™ืชืŸ ืœื”ื‘ื—ื™ืŸ ื‘ื”ืชื ื”ื’ื•ืช ืœื ื™ืฉืจื” ืฉืœ ื”ื›ื•ื ืŸ ืื ืืชื” ืžื‘ืฆืข ื‘ื“ื™ืงื” ืขื ื”ืคืกืงืช ื—ืฉืžืœ. ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืืช ื–ื” ืขื ืกืงืจื™ืคื˜. diskchecker.plืืฉืจ ื”ื™ื” ื ื•ืฆืจ ื‘ืฉื ืช 2005.

ืกืงืจื™ืคื˜ ื–ื” ื“ื•ืจืฉ ืฉื ื™ ืžื›ื•ื ื•ืช ืคื™ื–ื™ื•ืช - "ืฉืจืช" ื•"ืœืงื•ื—". ื”ืœืงื•ื— ื›ื•ืชื‘ ื›ืžื•ืช ืงื˜ื ื” ืฉืœ ื ืชื•ื ื™ื ืœื›ื•ื ืŸ ื”ื ื‘ื“ืง, ืงื•ืจื ืœ-fsync ื•ืฉื•ืœื— ืœืฉืจืช ืžื™ื“ืข ืขืœ ืžื” ืฉื ื›ืชื‘.

# ะ—ะฐะฟัƒัะบะฐะตั‚ัั ะฝะฐ ัะตั€ะฒะตั€ะต
./diskchecker.pl -l [port]

# ะ—ะฐะฟัƒัะบะฐะตั‚ัั ะฝะฐ ะบะปะธะตะฝั‚ะต
./diskchecker.pl -s <server[:port]> create <file> <size_in_MB>

ืœืื—ืจ ื”ืคืขืœืช ื”ืกืงืจื™ืคื˜, ื™ืฉ ืฆื•ืจืš ืœื‘ื˜ืœ ืืช ื”ืื ืจื’ื™ื” ืฉืœ "ื”ืœืงื•ื—" ื•ืœื ืœื”ื—ื–ื™ืจ ื—ืฉืžืœ ืœืžืฉืš ืžืกืคืจ ื“ืงื•ืช. ื—ืฉื•ื‘ ืœื ืชืง ืืช ื”ื ื‘ื“ืง ืžื—ืฉืžืœ, ื•ืœื ืจืง ืœื‘ืฆืข ื›ื™ื‘ื•ื™ ืงืฉื”. ืœืื—ืจ ื–ืžืŸ ืžื”, ื ื™ืชืŸ ืœื—ื‘ืจ ื•ืœื˜ืขื•ืŸ ืืช ื”ืฉืจืช ืœืžืขืจื›ืช ื”ื”ืคืขืœื”. ืœืื—ืจ ืืชื—ื•ืœ ืžืขืจื›ืช ื”ื”ืคืขืœื”, ืขืœื™ืš ืœื”ืชื—ื™ืœ ืžื—ื“ืฉ diskchecker.pl, ืื‘ืœ ืขื ื•ื™ื›ื•ื— ืœืืžืช.

./diskchecker.pl -s <server[:port]> verify <file>

ื‘ืกื•ืฃ ื”ื‘ื“ื™ืงื” ืชืจืื” ืืช ืžืกืคืจ ื”ืฉื’ื™ืื•ืช. ืื ื”ื 0, ืื– ื”ื“ื™ืกืง ืขื‘ืจ ืืช ื”ืžื‘ื—ืŸ. ื›ื“ื™ ืœื ืœื›ืœื•ืœ ืฉื™ืœื•ื‘ ืฉืœ ื ืกื™ื‘ื•ืช ืฉื”ืฆืœื™ื— ืขื‘ื•ืจ ื”ื“ื™ืกืง, ื ื™ืชืŸ ืœื—ื–ื•ืจ ืขืœ ื”ื ื™ืกื•ื™ ืžืกืคืจ ืคืขืžื™ื.

S4500 ืฉืœื ื• ืœื ื”ืจืื” ืฉื’ื™ืื•ืช ืื•ื‘ื“ืŸ ื—ืฉืžืœ, ืžื” ืฉืื•ืžืจ ืฉื”ื•ื ืžื•ื›ืŸ ืœืขื•ืžืกื™ื ืขื ื”ืจื‘ื” ืงืจื™ืื•ืช fsync.

ืžืกืงื ื”

ื‘ืขืช ื‘ื—ื™ืจืช ื“ื™ืกืงื™ื ืื• ืชืฆื•ืจื•ืช ืžื•ื›ื ื•ืช ืฉืœืžื•ืช, ืขืœื™ืš ืœื–ื›ื•ืจ ืืช ื”ืคืจื˜ื™ื ืฉืœ ื”ืžืฉื™ืžื•ืช ืฉื™ืฉ ืœืคืชื•ืจ. ื‘ืžื‘ื˜ ืจืืฉื•ืŸ ื ืจืื” ื‘ืจื•ืจ ืฉ-NVMe, ื›ืœื•ืžืจ SSD ืขื ืžืžืฉืง PCIe, ืžื”ื™ืจ ื™ื•ืชืจ ืž-SATA SSD "ืงืœืืกื™". ืขื ื–ืืช, ื›ืคื™ ืฉื”ื‘ื ื• ื”ื™ื•ื, ื‘ืชื ืื™ื ืกืคืฆื™ืคื™ื™ื ื•ืขื ืžืฉื™ืžื•ืช ืžืกื•ื™ืžื•ืช ื–ื” ืœื ื™ื›ื•ืœ ืœื”ื™ื•ืช ื”ืžืงืจื”.

ื›ื™ืฆื“ ื‘ื•ื“ืงื™ื ืจื›ื™ื‘ื™ ืฉืจืช ื›ืืฉืจ ืฉื•ื›ืจื™ื ืžืกืคืง IaaS?
ืžื—ื›ื™ื ืœื›ื ื‘ืชื’ื•ื‘ื•ืช.

ืžื“ื•ืข ื”-NVMe ืฉืœื™ ืื™ื˜ื™ ื™ื•ืชืจ ืž-SSD?

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”