Ò»¡¢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»·¾³Ï°²×°
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 | ²âÊÔÏß³ÌÊý | ²»½¨Ò鳬¹ýÎïÀíºËÐÄÊý | |
| ¨Ciodepth | io¶ÓÁÐÉî¶È | ʾÀý: 16 | ³¬¹ý32ºóÐÔÄÜÌáÉý²»´ó£¬µ«Ê±ÑÓ»áÃ÷ÏÔÔö¼Ó |
| ¡ª runtime | ²âÊÔÔËÐÐʱ¼ä£¬µ¥Î»Ãë | 300 | |
| ¡ª ramp_time | ²âÊÔ¿ªÊ¼Ç°µÄÔ¤ÈÈʱ¼ä£¬µ¥Î»Ãë | 10 | |
| ¨Ctime_based | ÊÇ·ñÒÔʱ¼äΪ»ù×¼ | 1£¬Ç¿ÖÆÒÔʱ¼äΪ»ù×¼£¬¼´Ê¹Î´´ïµ½size´óС²âÊÔÒ²½áÊø | |
| ¡ª group_reporting | »ã×ܱ¨¸æ½á¹û | ÎÞ | |
| ¡ª thread | ʹÓÃỊ̈߳¬¼õÉÙϵͳ¿ªÏú | ÎÞ | |
| ¨Coutput | ½á¹ûÊä³öĿ¼£¬Ö¸¶¨ºó²»ÔÚÆÁÄ»Êä³ö | ||
| ¨Cpool | Ioengine=rbdʱ£¬Ö¸¶¨´æ´¢³ØÃû | ||
| ¨Crbdname | Ioengine=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µÄÖµÏà³Ë¼´´ø¿íÖµ¡£


