ื›ื™ืฆื“ ืœื”ืขืจื™ืš ืืช ื‘ื™ืฆื•ืขื™ ื”ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก: ื”ืฉื•ื•ืืช ื‘ื™ืฆื•ืขื™ื ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืคืชื•ื—ื™ื

ะ’ ืคืขื ืื—ืจื•ื ื” ื“ื™ื‘ืจื ื• ืขืœ ื›ืœื™ ืงื•ื“ ืคืชื•ื— ืœื”ืขืจื›ืช ื‘ื™ืฆื•ืขื™ ืžืขื‘ื“ ื•ื–ื™ื›ืจื•ืŸ. ื”ื™ื•ื ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืืžื•ืช ืžื™ื“ื” ืœืžืขืจื›ื•ืช ืงื‘ืฆื™ื ื•ืžืขืจื›ื•ืช ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก - Interbench, Fio, Hdparm, S ื•ื‘ื•ื ื™.

ื›ื™ืฆื“ ืœื”ืขืจื™ืš ืืช ื‘ื™ืฆื•ืขื™ ื”ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก: ื”ืฉื•ื•ืืช ื‘ื™ืฆื•ืขื™ื ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืคืชื•ื—ื™ื
ืชืžื•ื ื•ืช - ื“ื ื™ืืœ ืœื™ื•ื•ื™ืก ืคืœื•ืกื™ - Unsplash

ืคื™ื•

Fio (ืงื™ืฆื•ืจ ืฉืœ Flexible I/O Tester) ื™ื•ืฆืจ ื–ืจืžื™ I/O ืฉืœ ื“ื™ืกืงื™ื ื›ื“ื™ ืœื”ืขืจื™ืš ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžืขืจื›ืช ืงื‘ืฆื™ื ืฉืœ ืœื™ื ื•ืงืก. ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช ื’ื ื‘-Windows - ืขืœื™ืš ืœื”ืชืงื™ืŸ ืืช ืžืžืฉืง ืฉื•ืจืช ื”ืคืงื•ื“ื” Cygwin. ืžื“ืจื™ืš ื”ื”ืชืงื ื” ื ืžืฆื ืžืื’ืจื™ fio ื‘-GitHub.

ืžื—ื‘ืจ ืคื™ื• - ื™ื ืก ืืงืกื‘ื• (ื™ื ืก ืืงืกื‘ื•), ืื—ืจืื™ ืขื‘ื•ืจ ืชืช-ืžืขืจื›ืช ื”-IO ื‘ืœื™ื ื•ืงืก ื•ื‘ืžืคืชื— ื›ืœื™ ืฉื™ืจื•ืช blktrace ื›ื“ื™ ืœื”ืชื—ืงื•ืช ืื—ืจ ืคืขื•ืœื•ืช I/O. ื”ื•ื ื™ืฆืจ ืืช ืคื™ื•, ื›ื™ ืื ื™ ืขื™ื™ืฃ ืœื›ืชื•ื‘ ืชื•ื›ื ื™ื•ืช ืœื‘ื“ื™ืงืช ืขื•ืžืกื™ื ืกืคืฆื™ืคื™ื™ื ื‘ืื•ืคืŸ ื™ื“ื ื™.

ื”ืฉื™ืจื•ืช ื™ื—ืฉื‘ IOPS ื•ืชืคื•ืงืช ื”ืžืขืจื›ืช, ื•ื’ื ื™ืืคืฉืจ ืœืš ืœื”ืขืจื™ืš ืืช ืขื•ืžืง ื”ืชื•ืจ ืฉืœ ืคืขื•ืœื•ืช I/O. ื›ืœื™ ื”ืฉื™ืจื•ืช ืคื•ืขืœ ืขื ืงื‘ืฆื™ื ืžื™ื•ื—ื“ื™ื (ืกื™ื•ืžืช fio) ืฉื‘ื”ื ืžืฆื•ื™ื ื™ื ื”ื”ื’ื“ืจื•ืช ื•ืชื ืื™ ื”ื‘ื“ื™ืงื”. ื™ืฉื ืŸ ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืžื‘ื—ืŸ, ืœืžืฉืœ, ื™ืฉ ื›ืชื™ื‘ื” ืืงืจืื™ืช, ืงืจื™ืื” ื•ื”ื—ืœืคื”. ื›ืืŸ ื“ื•ื’ืžื” ืชื•ื›ืŸ ื”ืงื•ื‘ืฅ ืขื‘ื•ืจ ื”ืžืงืจื” ื”ืจืืฉื•ืŸ:

[global]
	name=fio-rand-read
	filename=fio-rand-read
	rw=randread
	bs=4K
	direct=0
	numjobs=1
	time_based=1
	runtime=900

ื›ื™ื•ื ืžืฉืชืžืฉื™ื ื‘-fio ืขืœ ื™ื“ื™ ื—ื‘ืจื•ืช ื’ื“ื•ืœื•ืช - ื”ืŸ ืขื•ื‘ื“ื•ืช ืขื ื”ืฉื™ืจื•ืช ื‘ SUSE, ื ื•ื˜ื ื™ืงืก ะธ ื™ื‘ืž.

Hdparm

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

$ sudo hdparm -t /dev/sdb

ื”ืžืขืจื›ืช ืชื™ืฆื•ืจ ืชื’ื•ื‘ื” ื›ื–ื•:

Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec

ื‘ืืฉืจ ืœื”ื’ื“ืจืช ื›ื•ื ื ื™ื, hdparm ืžืืคืฉืจ ืœืš ืœืฉื ื•ืช ืืช ื’ื•ื“ืœ ื–ื™ื›ืจื•ืŸ ื”ืžื˜ืžื•ืŸ, ืœืฉื ื•ืช ืืช ืžืฆื‘ ื”ืฉื™ื ื” ื•ื”ื’ื“ืจื•ืช ืฆืจื™ื›ืช ื”ื—ืฉืžืœ, ื•ื’ื ืœืžื—ื•ืง ื‘ื‘ื˜ื—ื” ื ืชื•ื ื™ื ืขืœ ื”-SSD. ืื‘ืœ ืื™ืš ืœึฐื”ึทื–ื”ึดื™ืจ ืžื•ืžื—ื™ื ืž-ArchLinux, ืฉื™ื ื•ื™ื™ื ืจืฉืœื ื™ื™ื ื‘ืคืจืžื˜ืจื™ื ืฉืœ ื”ืžืขืจื›ืช ืขืœื•ืœื™ื ืœื”ืคื•ืš ืืช ื”ื ืชื•ื ื™ื ื‘ื“ื™ืกืง ืœื‘ืœืชื™ ื ื’ื™ืฉื™ื ื•ืืฃ ืœื”ื–ื™ืง ืœื›ื•ื ืŸ. ืœืคื ื™ ื”ืขื‘ื•ื“ื” ืขื hdparm, ืขื“ื™ืฃ ืœืงืจื•ื ืืช ื”ืžื“ืจื™ืš - ืคืฉื•ื˜ ื”ื–ื™ื ื• ืืช ื”ืคืงื•ื“ื” man hdparm ื‘ืงื•ื ืกื•ืœื”.

S

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

ื›ืœ ื”ืžื“ื“ื™ื ื”ื ืชืกืจื™ื˜ื™ bash, ืžืขืจื™ื›ื™ื ื‘ื™ืฆื•ืขื™ ืžืขืจื›ืช ืื—ืกื•ืŸ - ืชืคื•ืงื”, ื—ื‘ื™ื•ืŸ, ื‘ื™ืฆื•ืขื™ ืžืชื–ืžืŸ. ืœื“ื•ื’ืžื”, ื”-benchmark throughput-sync.sh "ืžืคืฆื™ืฅ" ืืช ืžืขืจื›ืช ื”ืื—ืกื•ืŸ ืขื ื‘ืงืฉื•ืช ืงืจื™ืื” ืื• ื›ืชื™ื‘ื” (ื‘ืžืงืจื” ื–ื”, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ื›ืœื™ ื”ืขื–ืจ fio ืฉื”ื•ื–ื›ืจ ื›ื‘ืจ). ื›ืืŸ ืงื•ื“ ืขื‘ื•ืจ ืกืงืจื™ืคื˜ ื–ื”.

ืกืงืจื™ืคื˜ ืื—ืจ - comm_startup_lat.sh - ืžื•ื“ื“ ืืช ื”ื”ืฉื”ื™ื” ืฉืœ ืงืจื™ืืช ื ืชื•ื ื™ื ืžื”ื“ื™ืกืง ื›ืืฉืจ ื”ืžื˜ืžื•ืŸ "ืงืจ" (ื›ืืฉืจ ื”ื•ื ืื™ื ื• ืžื›ื™ืœ ืืช ื”ื ืชื•ื ื™ื ื”ื“ืจื•ืฉื™ื). ื’ื ืงื•ื“ ื ื™ืชืŸ ืœืžืฆื•ื ื‘ืžืื’ืจ.

ื›ื™ืฆื“ ืœื”ืขืจื™ืš ืืช ื‘ื™ืฆื•ืขื™ ื”ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก: ื”ืฉื•ื•ืืช ื‘ื™ืฆื•ืขื™ื ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืคืชื•ื—ื™ื
ืชืžื•ื ื•ืช - Agรช Barros - Unsplash

ื‘ื•ื ื™

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

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

ื‘ื”ืชื‘ืกืก ืขืœ ื‘ื•ื ื™, ื ื‘ื ื” ืกื˜ ื›ืœื™ื ื ื•ืกืฃ ืœื‘ื“ื™ืงืช ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื - ื‘ื•ื ื™++ (ื›ืชื•ื‘ ื‘-C++ ื‘ืžืงื•ื C). ื”ื•ื ืžืกืคืง ื›ืœื™ ืžื“ื“ ื ื•ืกืคื™ื. ืœื“ื•ื’ืžื”, zcav ื›ื“ื™ ืœื”ืขืจื™ืš ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืื–ื•ืจื™ HDD ืฉื•ื ื™ื. ื’ื ื‘ื•ื ื™++ ะฟะพะดั…ะพะดะธั‚ ืœื‘ื“ื™ืงืช ืฉืจืชื™ ื“ื•ืืจ ื•ืฉืจืชื™ ืžืกื“ื™ ื ืชื•ื ื™ื.

ื‘ื™ืŸ ืกืคืกืœ

ืคื™ืชื— ืืช ื”ืฉื™ืจื•ืช ืงื•ืŸ ืงื•ืœื™ื‘ืก (Con Kolivas), ืžืจื“ื™ื ืื•ืกื˜ืจืœื™ ืฉื™ื“ื•ืข ื‘ืชืจื•ืžืชื• ืœืคื™ืชื•ื— ืœื™ื‘ืช ืœื™ื ื•ืงืก ื•ืขื‘ื•ื“ื” ืขืœ "ืžืชื–ืžืŸ ืžืขื‘ื“ ื”ื•ื’ืŸ" Interbench ืขื•ื–ืจ ืœืš ืœื”ื’ื“ื™ืจ ืืช ืžืชื–ืžืŸ I/O ื•ื”ื’ื“ืจื•ืช ืžืขืจื›ืช ื”ืงื‘ืฆื™ื.

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

ื ื™ืชืŸ ืœืžืฆื•ื ืงื•ื“ ืžืงื•ืจ, ื“ื•ื’ืžืื•ืช ื•ื”ืžืœืฆื•ืช ืœื”ื’ื“ืจืช ื”ื›ืœื™ ื‘ ืžืื’ืจ ืจืฉืžื™ ื‘-GitHub.

ืขืœ ืžื” ืื ื—ื ื• ื›ื•ืชื‘ื™ื ื‘ื‘ืœื•ื’ื™ื ืฉืœื ื•:

ื›ื™ืฆื“ ืœื”ืขืจื™ืš ืืช ื‘ื™ืฆื•ืขื™ ื”ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก: ื”ืฉื•ื•ืืช ื‘ื™ืฆื•ืขื™ื ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืคืชื•ื—ื™ื ืžื“ื“ื™ื ืขื‘ื•ืจ ืฉืจืชื™ ืœื™ื ื•ืงืก: 5 ื›ืœื™ื ืคืชื•ื—ื™ื

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

ื›ื™ืฆื“ ืœื”ืขืจื™ืš ืืช ื‘ื™ืฆื•ืขื™ ื”ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก: ื”ืฉื•ื•ืืช ื‘ื™ืฆื•ืขื™ื ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืคืชื•ื—ื™ื ื‘ื“ื™ืงื•ืช ื’ืื“ื’'ื˜ื™ื ื‘ื’ื‘ื•ืœ: ืื™ืš ืœืคืขื•ืœ ื›ื“ื™ ืœื ืœืื‘ื“ ื ืชื•ื ื™ื ื—ืกื•ื™ื™ื?
ื›ื™ืฆื“ ืœื”ืขืจื™ืš ืืช ื‘ื™ืฆื•ืขื™ ื”ืื—ืกื•ืŸ ื‘ืœื™ื ื•ืงืก: ื”ืฉื•ื•ืืช ื‘ื™ืฆื•ืขื™ื ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืคืชื•ื—ื™ื ืชืฆืœื•ืžื™ื: ืžื“ื•ืข ื™ืฉ ืฆื•ืจืš ื‘"ืฆื™ืœื•ืžื™ ืžืฆื‘"?

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

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