Ò»¡¢FIO¹¤¾ß¼ò½é

FIO²âÊÔÊÇÒ»ÖֱȽϸ´ÔÓµÄÒ»Ï¾ß£¬¿ÉÒÔÉèÖõIJÎÊý½Ï¶à£¬Ò²ÊDzâÊÔÈËÔ±³£ÓõŤ¾ß¡£×¢Ò⣺FIO ÊÊÓÃÓÚËùÓÐÐͺŵÄÓ²ÅÌ£¬µ«ÊDzâÊÔʱÐèÒª½«¿Í»§µÄÒµÎñÍ£Ö¹¡£

Ò»°ã³£¼ûµÄFIO²âÊÔÎÒÃÇÖØµã¹Ø×¢µÄÊÇ´ÅÅ̵ÄIOPS¡¢BMps¡¢ÏìӦʱ¼äµÈ£¬Ä³Ð©¿Í»§¿ÉÄÜ»¹¹Ø×¢IOPSµÄÎȶ¨ÐÔ¡£¶ÔÓÚͨ³£Çé¿öÏ¿ͻ§·´À¡¹ýÀ´µÄÐÔÄܲâÊÔÎÊÌ⣬ÈçÊǵ¥Å̲âÊÔµÄÇé¿ö£¬¿ÉÒÔÖ±½ÓʹÓÃFIO²âÊÔÓë¹æ¸ñÊéÀ´×öÏà¹ØµÄ±È¶Ô¡£

FIOÊDzâÊÔIOPSµÄ·Ç³£ºÃµÄ¹¤¾ß£¬ÓÃÀ´¶ÔÓ²¼þ½øÐÐѹÁ¦²âÊÔºÍÑéÖ¤£¬Ö§³Ö13ÖÖ²»Í¬µÄI/OÒýÇæ£¬°üÀ¨:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio µÈµÈ¡£

¶þ¡¢FIO¹¤¾ßÏÂÔØ

×¢ÒâÈç¹ûÖ§³ÖÒýÇæÊÇlibaio£¬ÐèÒª°²×°ÏàÓ¦µÄÖ§³Ö°ü¡£µã»÷ÈçϹ¤¾ßÏÂÔØ;×¢ÒâÏÂÔØºóÏȽâѹzip°ü£¬ÔÙÉÏ´«linux»·¾³Ï°²×°

fio-2.1.10.tar.gz.zip

libaio-devel-0.3.109-13.el7.x86_64.zip

Èý¡¢FIO°²×°²½Öè

½âѹºó½øÈëĿ¼£¬Ö´ÐÐÈçÏÂÃüÁî°²×°

./configure


make && make install

³£ÓòÎÊý

fio -v               #²é¿´°æ±¾


fio ¨Cenghelp         #²é¿´fioÖ§³ÖµÄÒýÇæ£¬³£ÓõÄlibaioºÍrbd

²ÎÊýÃûÊÍÒåȡֵ±¸×¢
¨Cname²âÊÔÓÃÀýÃû,ÃüÁîÐвâÊÔʱ±ØÐëÖ¸¶¨
¨Cfilename²âÊÔÎļþ¡¢Ä¿Â¼¡¢É豸Ãû¶à¸öĿ¼»òÎļþÓÃ:·Ö¸ô
¨Cdirectory²âÊÔÎļþ·¾¶Ç°×º£¬²»Ö¸¶¨Ê±Ä¬ÈÏΪµ±Ç°Ä¿Â¼Ê¾Àý£º


/mntdir/seq_read/1M

¨Cioengine²âÊÔËùÓõÄioÒýÇæÎļþϵͳ²âÊÔÒ»°ãΪlibaio£»¾í²âÊÔÒ»°ãΪrbd
¨CdirectÊÇ·ñ½ûÓûº´æ1£¬²»Ê¹Óûº´æ
¨Crw¶Áдģʽ£¬read,˳Ðò¶Á


write,˳Ðòд

rw,˳Ðò»ìºÏ

randwrite,Ëæ»úд

randrw,Ëæ»ú»ìºÏ

¡ª rwmixwrite


¨Crwmixread

 Ëæ»ú¶ÁдʱµÄ¶Á»òд±ÈÀý»ìºÏ¶Áдʱ£¬2¸ö²ÎÊýÖ»ÓÃÆäÒ»
¨Cbs²âÊÔ¿é´óС,¿É½Ók,mµ¥Î»Ê¾Àý:


8k

1m

¨Csize²âÊÔÎļþ´óС»ò±ÈÀý£¬¿É½Ók,m,g,tµ¥Î»Ê¾Àý:


1M

1G

100%

½öÊÊÓÃÓÚÎļþϵͳ²âÊÔ
¨Cnumjobs²âÊÔÏß³ÌÊý²»½¨Ò鳬¹ýÎïÀíºËÐÄÊý
¨Ciodepthio¶ÓÁÐÉî¶ÈʾÀý:


16

³¬¹ý32ºóÐÔÄÜÌáÉý²»´ó£¬µ«Ê±ÑÓ»áÃ÷ÏÔÔö¼Ó
¡ª runtime²âÊÔÔËÐÐʱ¼ä£¬µ¥Î»Ãë300
¡ª ramp_time²âÊÔ¿ªÊ¼Ç°µÄÔ¤ÈÈʱ¼ä£¬µ¥Î»Ãë10
¨Ctime_basedÊÇ·ñÒÔʱ¼äΪ»ù×¼1£¬Ç¿ÖÆÒÔʱ¼äΪ»ù×¼£¬¼´Ê¹Î´´ïµ½size´óС²âÊÔÒ²½áÊø
¡ª group_reporting»ã×ܱ¨¸æ½á¹ûÎÞ
¡ª threadʹÓÃỊ̈߳¬¼õÉÙϵͳ¿ªÏúÎÞ
¨Coutput½á¹ûÊä³öĿ¼£¬Ö¸¶¨ºó²»ÔÚÆÁÄ»Êä³ö
¨CpoolIoengine=rbdʱ£¬Ö¸¶¨´æ´¢³ØÃû
¨CrbdnameIoengine=rbdʱ£¬Ö¸¶¨¾íÃû

ËÄ¡¢²âÊÔÒªµã

1.fio²âÊÔ²úÉúµÄÎļþÐèÒªÊÖ¶¯Çå³ý¡£

2.¶Áд»ìºÏ²âÊÔʱ£¬¶Áд²âÊÔ½á¹ûÊÇ·Ö¿ªµÄ£¬½¨Òéµ¥´ÎÖ»²â˳Ðò»òËæ»ú»ò»ìºÏÇéÐÎϵĶÁд¡£

3.fioÒ²¿ÉÒÔʹÓÃnohupºǫִ́ÐУ¬Èôͨ¹ýoutputÖ¸¶¨½á¹ûÎļþ£¬Ôò²é¿´nohup.out²é¿´²âÊÔ½á¹û¡£

4.numjobsºÍiodepth¸ù¾Ý²âÊÔÀàÐͼ°²âÊÔ»úʵ¼ÊÅäÖõ÷Õû£¬²¢·ÇÔ½´óÔ½ºÃ¡£ÔÚÐÔÄÜÒÑ´ïÆ¿¾±ºó£¬µ÷¸ßÕâ2¸ö²ÎÊý£¬¿ÉÄܻᵼÖÂʱÑÓÃ÷ÏÔÔö´ó¡£

δÃ÷È·ÒªÇó°æ±¾Ê±£¬¿ÉʹÓÃfio-3.7°æ±¾¡£

ÃüÁîʾÀý£º

fio -filename=/root/iopstest/test -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k

fio -filename=/root/iopstest/test -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k

Îå¡¢²âÊÔ½á¹û

±¾´Î²âÊÔΪNF5280M5±¾µØSSDÓ²Å̲âÊÔ½á¹û

¶Á 135714   Ð´16049

1.½«²âÊÔµÄIOPSºÍBMpsÖµÓë¹æ¸ñÊéÖеÄ×ö¶Ô±È

¹æ¸ñÊéÖеÄIOPSÖµÊÇʹÓÃ4kËæ»ú¶Áд½øÐкâÁ¿µÄ£¬ÕâÑù¿ÉÒÔ×î´ó³Ì¶ÈµÄ±£Ö¤Ëæ»úIOµÄ²¢·¢£¬²âÊÔ³ö¸ü¼Ó׼ȷµÄÖµ¡£

2.¹æ¸ñÊéÖÐBMps´ú±íµÄÊÇÀíÂÛ´ø¿íÖµ£¬´ËÖµÊÇÔÚ˳Ðò¶ÁдµÄʱºò½øÐеIJâÊÔ£¬ËùÒÔÀíÂÛÉÏËæ»ú¶Áд²âÊÔʱµÄ´ø¿í»áСÓÚ˳Ðò¶Áд¡£

×¢£ºIOPS£ºInput/Output Operations Per Second£¬¼´Ã¿ÃëµÄÊäÈëÊä³öÁ¿(»ò¶Áд´ÎÊý)£¬ÊÇÒ»¸öÓÃÓÚ´æ´¢É豸ÐÔÄܲâÊÔµÄÖ÷ÒªÁ¿²â·½Ê½¡£

´ø¿í£º´ÖÂԵĽ²¿ÉÒÔʹÓÃbs(Ìõ´ø¿í¶È)ÓëIOPSµÄÖµÏà³Ë¼´´ø¿íÖµ¡£