| ±×¸© º¥Ä¡ Virtbench´Â °¡»óÈ È¯°æ / ÇÏÀÌÆÛ ¹ÙÀÌÀúÀÇ º¥Ä¡ ¸¶Å© ¼¼Æ®ÀÔ´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
±×¸© º¥Ä¡ ¼øÀ§ ¹× ¿ä¾à
- °Ô½ÃÀÚ À̸§:
- Rusty Russell
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://ozlabs.org/~rusty/virtbench/
±×¸© º¥Ä¡ ű×
±×¸© º¥Ä¡ ¼³¸í
Virtbench´Â °¡»óÈ È¯°æ / ÇÏÀÌÆÛ ¹ÙÀÌÀú¸¦À§ÇÑ º¥Ä¡ ¸¶Å© ¼¼Æ®ÀÔ´Ï´Ù. Virtbench´Â °¡»óÈ È¯°æ / ÇÏÀÌÆÛ ¹ÙÀÌÀú¸¦À§ÇÑ º¥Ä¡ ¸¶Å© ¼¼Æ®ÀÔ´Ï´Ù. ÀÌ ÇÁ·ÎÁ§Æ®´Â ½ÇÇàÇϱ⠽±°í È®ÀåÇϱ⠽±µµ·Ï ¼³°èµÇ¾ú½À´Ï´Ù. ÁÖ¿ä °ü°´µéÀº »ç¶÷µéÀÌ ÇÏÀÌÆÛ ¹ÙÀÌÀú¸¦ °³¹ßÇÒ °ÍÀÔ´Ï´Ù. ¡¤ sudo ¡¤ / dev / net / tun : "modprobe tun"¡¤ ³×Æ®¿öÅ© 192.168.19.0 ¹× 192.168.12.0À» ¹«·á·Î »ç¿ëÇϽʽÿÀ. ¡¤ ext3 Áö¿øÀÌÀÖ´Â Ä¿³Î inquickstart : # ÄÚµå ¹× ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ ±¸Ãà (sudo »ç¿ë °¡´É) # °Ô½ºÆ® Ä¿³Î À§Ä¡¸¦ ¼³Á¤ÇÏ°í MoreVi ./settings# º¥Ä¡ ¸¶Å© ½ÇÇà (·ÎÄà ¸ðµå) sudo ./virtbench ·ÎÄà # º¥Ä¡ ¸¶Å© (KVM ¸ðµå) sudo ./virtbench kvmoptions : - ifname = : "eth0"ÀÌ¿ÜÀÇ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© ¼¹ö IP¸¦ ¾òÀ¸½Ê½Ã¿À .- ´ë·«ÀûÀÎ : º¥Ä¡ ¸¶Å©¸¦ ¿©·¯ ¹ø ½ÇÇàÇÏÁö ¸¶½Ê½Ã¿À .- ¹èÆ÷ : °á°ú¿¡ ´ëÇÑ ¹èÆ÷ ¼¼ºÎ Á¤º¸¸¦ Ç¥½ÃÇÕ´Ï´Ù. --csv = : ÆÄÀÏ¿¡ ´ëÇÑ ¿ÏÀüÇÑ °á°ú - µµ¿ò¸» : µµ¿ò¸» : º¥Ä¡ ¸¶Å© À̸§ ¸ñ·Ï :ÀÌ / º¥Ä¡ ¸¶Å©¿þ¾î »õ·Î¿î º¥Ä¡ ¸¶Å©¸¦ ½ÇÇà : »õ·Î¿î º¥Ä¡ ¸¶Å© ÀÛ¼ºÀº ²Ï »ç¼ÒÇÑ °ÍÀ¸·Î ¼³°èµÇ¾ú½À´Ï´Ù. À̵éÀº ¼ºê µð·ºÅ丮 (ÇöÀç ¸¶ÀÌÅ©·Î / ¶Ç´Â ¸¶ÀÌÅ©·Î º¥Ä¡ ¹× ÀÎÅÍ ºÎ Æ¿ ·»Ä¡ ¹× °Ô½ºÆ® °£ º¥Ä¡ ¸¶Å©ÀÇ °æ¿ì)¿¡ ¹èÄ¡µË´Ï´Ù. ÀÌ µð·ºÅ丮ÀÇ ¸ðµç .c ÆÄÀÏÀÌ ÇȾ÷µÇ¾î makefile ÆíÁýÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. "../benchmarks.h"¸¦ Æ÷ÇÔ½ÃÄѾßÇÕ´Ï´Ù. ±×·± ´ÙÀ½ "struct º¥Ä¡ ¸¶Å©"¿Í °°Àº "±¸Á¶Ã¼ º¥Ä¡ ¸¶Å©"my_benchmark _benchmark_ = { "mybench"¿Í °°Àº "±¸Á¶ º¥Ä¡ ¸¶Å©"¸¦ Á¤ÀÇÇؾßÇÕ´Ï´Ù. , "ÇϳªÀÇ foobar ½Ã°£", do_single_bench, do_mybench}; º¥Ä¡ ¸¶Å©¸¦ ÀÚµ¿À¸·Î µî·ÏÇÏ´Â "_benchmark_"¸¶Ä¿¸¦ ±â·ÏÇϽʽÿÀ. ù ¹ø° ¿ä¼Ò´Â º¥Ä¡ ¸¶Å© À̸§ (¸í·É ÁÙ »ç¿ëÀÇ °æ¿ì)À̸ç, µÎ ¹ø°´Â °á°ú¸¦ ÀÌÀüÇϱâ Àü¿¡ µð½ºÇ÷¹ÀÌ ÇÒ ¹®ÀÚ¿À̸ç, ¼¼ ¹ø°´Â º¥Ä¡ ¸¶Å©¸¦ ½ÇÇàÇÏ°í ¸¶Áö¸·À¸·Î Ŭ¶óÀ̾ðÆ® Ãø º¥Ä¡ ¸¶Å© ·çƾÀ» ½ÇÇàÇÏ´Â ¼¹ö Ãø ·çƾÀÔ´Ï´Ù. ±âÁ¸ ¼¹ö Ãø ·çƾ : do_single_bench : ´ÜÀÏ ¹«ÀÛÀ§·Î ¼±ÅÃÇÑ ±â°è ¿¡¼ÀÌ º¥Ä¡ ¸¶Å©¸¦ ½ÇÇàÇϽʽÿÀ (microBenchmarks¿¡ ´ëÇÑ Á¤»ó) do_pair_bench : µÎ °³ÀÇ ¹«ÀÛÀ§·Î ¼±ÅÃµÈ ±â°è ¿¡¼ÀÌ º¥Ä¡ ¸¶Å©¸¦ ½ÇÇàÇϽʽÿÀ .do_pair_bench_onestop :ÀÌ º¥Ä¡ ¸¶Å©¸¦ ¹«ÀÛÀ§·Î ½ÇÇàÇϽʽÿÀ. ¼±ÅÃÇÑ ±â°è°¡ ¾Æ´Ï¶ó ±â°è°¡ ³¡³ª´Â Áï½Ã ŸÀ̸Ӹ¦ ³¡³»½Ê½Ã¿À. Ŭ¶óÀ̾ðÆ® Ãø º¥Ä¡ ¸¶Å©´Â ±×·¸°Ô ÇÁ·ÎÅä ŸÀÔÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Á¤Àû void my_bench (int fd, u32, struct º¥Ä¡ ¸¶Å© * º¥Ä¡, const void * opts); - FD : ¼¹ö ¼ÒÄÏ - ½ÇÇà : º¥Ä¡ ¸¶Å©¸¦ ½ÇÇàÇÒ ¹Ýº¹ Ƚ¼ö - º¥Ä¡ : ½ÇÇàÁßÀÎ º¥Ä¡ ¸¶Å©. - opts : ¼¹ö°¡ º¸³½ ¿É¼Ç (do_pair_bench´Â "struct pair_opt"¶ó´Â À̸§ÀÇ Å¬¶óÀ̾ðÆ®°¡ ù ¹ø° ¶Ç´Â µÎ ¹ø°ÀÎÁö ¿©ºÎ¸¦ ¾Ë·ÁÁÝ´Ï´Ù. Ŭ¶óÀ̾ðÆ® ·çƾÀº Çʼö ¼³Á¤À» ¼öÇà ÇÑ ´ÙÀ½ "wait_for_start (FD)"À» È£ÃâÇؾßÇÕ´Ï´Ù. ÀÌ °æ¿ì true¸¦ ¹ÝȯÇÏ¸é º¥Ä¡ ¸¶Å© "½ÇÇà"½Ã°£À» ½ÇÇà ÇÑ ´ÙÀ½ "send_ack (fd)"¸¦ È£ÃâÇÕ´Ï´Ù. ±×·± ´ÙÀ½ Cleanup and Return.Writing New BackendStou´Â »õ ÇÏÀÌÆÛ ¹ÙÀÌÀú¿¡ ´ëÇÑ Áö¿øÀ» ±¸ÇöÇϹǷΠ»õ µð·ºÅ丮 (¿¹ : "mkdir myhype")¸¦ ¸¸µé¾î 4 °³ÀÇ ½ÇÇà °¡´ÉÇÑ ½ºÅ©¸³Æ®¸¦ ³Ö¾î¾ßÇÕ´Ï´Ù. °¢ ½ºÅ©¸³Æ®´Â Àü¿ª ¼³Á¤À» Èí¼öÇϱâ À§ÇØ "./settings"·Î ½ÃÀÛÇؾßÇÕ´Ï´Ù .- ½ÃÀÛ :ÀÌ ½ºÅ©¸³Æ®´Â óÀ½¿¡ ½ÇÇàµË´Ï´Ù. ¸ðµâÀ» »ðÀÔÇÏ°í, ÀåÄ¡ ¸¸µé±â, ¿ä±¸ »çÇ×À» È®ÀÎÇϽʽÿÀ. - start_machine : ÀÌ°ÍÀº °¡Àå º¹ÀâÇÑ ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. Ŭ¶óÀ̾ðÆ® ¹øÈ£´Â (0 ~ 3), ¼¹ö IP ÁÖ¼Ò ¹× ¼¹ö Æ÷Æ® ¹øÈ£¸¦ ¸¸µé ¼öÀִ Ŭ¶óÀ̾ðÆ® ¹øÈ£°¡ ÇÊ¿äÇÕ´Ï´Ù. Ç¥ÁØ Ãâ·Â¿¡ ½Äº°ÀÚ¸¦ ÀμâÇؾßÇÕ´Ï´Ù (ÀÌ ½Äº°ÀÚ´Â ÀÚ½ÅÀÇ ¿ëµµ·Î »ç¿ëµË´Ï´Ù : ±×°ÍÀº STOP_MACHINE¿¡ ´ëÇØ ±ÍÇÏ¿¡°Ô Àü´ÞµË´Ï´Ù). ÀÌ ½ºÅ©¸³Æ®´Â rootfs / virtbench-root-$ 1¿¡¼ ¹ß°ß µÈ ext3 ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» »ç¿ëÇÏ¿© °¡»ó ÄÄÇ»Å͸¦ ¸¸µé¾î¾ßÇÕ´Ï´Ù. °¡»ó ½Ã½ºÅÛÀº ÀϹÝÀûÀ¸·Î init = / virtclient ÀÇ ¸í·É ÁÙ·Î ½ÃÀ۵˴ϴÙ. VILLCLIENT´Â 5 ¶Ç´Â 6 Àμö¸¦ ÃëÇÕ´Ï´Ù. CLIENTID ($ 1) SERVERIP ($ 3) extifname (ÀϹÝÀûÀ¸·Î "eth0") IFADDR (ÀϹÝÀûÀ¸·Î 192/168/19 / $ ($ 1 + 1))) intifname (¼±Åà »çÇ×) ÃÖÁ¾ Àμö´Â °Ô½ºÆ® °£ Åë½ÅÀ» À§ÇØ º°µµÀÇ ³×Æ®¿öÅ©¸¦ ¿øÇÒ °æ¿ì (LGuest´Â ÀÎÅÍÆäÀ̽º ÀÎÅͳ»¼Å³Î, È£½ºÆ®¸¦ ÅëÇÑ ´Ù¸¥ °æ·Î¸¦ »ç¿ëÇÕ´Ï´Ù). Linux Ä¿³ÎÀº ¸í·É ÁÙ Àμö¸¦ "."·Î Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù. ±× ¾È¿¡¼, VirtClient´Â "/"´ë½Å "/"·Î IP ÁÖ¼Ò¸¦ ¼ö¶ôÇÕ´Ï´Ù. ½ºÅ©¸³Æ®´Â °Ô½ºÆ®°¡ Åë½ÅÇÏ´Â µ¥ ÇÊ¿äÇÑ ¸ðµç ¶ó¿ìÆÃÀ» ¼³Á¤ÇؾßÇÕ´Ï´Ù .- STOP_MACHINE : START_MACHINE¿¡¼ ¹Ýȯ ÇÑ ½Äº°ÀÚ¸¦ ÇϳªÀÇ Àμö·Î °¡Á®¿É´Ï´Ù. ÀÌ°ÍÀº °¡»ó ÄÄÇ»Å͸¦ Á׿©¾ßÇÕ´Ï´Ù .- Á¤Áö : ³¡¿¡¼ ¸ðµâÀ» Á¤¸®ÇÏ°í Á¦°ÅÇÕ´Ï´Ù.
±×¸© º¥Ä¡ °ü·Ã ¼ÒÇÁÆ®¿þ¾î