ºÜ¶à×âÓÃзþÎñÆ÷µÄÕ¾³¤¹ØÐĵÄÒ»¸öÎÊÌâÊÇ£¬Óû§Á¬½ÓÍøÕ¾µÄËÙ¶ÈÔõÑù¡£ÕâÀïµÄ¡°ËÙ¶È¡±Ö÷ÒªÖ¸Á½¸ö·½Ã棬һ¸öÊÇ·þÎñÆ÷µÄÏìӦʱ¼ä»òÕß½ÐÍøÂçÑÓ³Ù£¨response time or network latency£©£¬ÁíÒ»¸öÊÇ·þÎñÆ÷ºÍÓû§Ö®¼äµÄ´ø¿í£¨throughput£©¡£ÏìӦʱ¼äÖ¸µÄÊÇÓû§£¨»òÕß·þÎñÆ÷£©Ïò·þÎñÆ÷£¨»òÓû§£©·¢ËÍÒ»¶Î½¨Á¢Á¬½ÓÇëÇóµ½×îÖÕ½ÓÊÕµ½¶Ô·½»ØÀ¡Ö®¼äµÄÑÓ³Ùʱ¼ä£»¶øÁ¬½Ó´ø¿íÖ¸µÄÊǵ±Á¬½Ó½¨Á¢Ö®ºóµ¥Î»Ê±¼äÄÜ´«µÝµÄÊý¾ÝÁ¿¡£ÏìӦʱ¼äºÍ´ø¿íÕâÁ½¸öÁ¿¹²Í¬Ó°ÏìÓû§ÌåÑéµ½µÄ¡°ÍøÕ¾Á¬½ÓËÙ¶È¡±£ºÈç¹ûÓû§µã»÷ÍøÕ¾Á´½Óºó¹ý½Ï³¤Ê±¼ä²ÅÓÐÏìÓ¦£¬µ«Ò»µ©ÓÐÏìÓ¦ºóÍøÕ¾Ë²Ê±´ò¿ª£¬Õâ˵Ã÷·þÎñÆ÷ÏìӦʱ¼ä½Ï³¤µ«Á¬½Ó´ø¿í½Ï¸ß£»Èç¹ûµã»÷Á´½ÓºóºÜ¿ìÏìÓ¦µ«ºÜ¾Ã²ÅÍêÈ«ÔØÈëÒ³Ãæ£¬ËµÃ÷ÏìӦʱ¼ä½ÏСµ«´ø¿íÒ²½ÏС¡£
²âÁ¿ÏìӦʱ¼äͨ³£Ê¹ÓÃping»òÕß traceroute¹¤¾ß£¬±ÈÈçÏÂÃæÕâ¸öpingµÄÀý×Ó£º
$ ping baidu.com
PING baidu.com (220.181.6.81) 56(84) bytes of data.
64 bytes from 220.181.6.81: icmp_seq=1 ttl=51 time=284 ms
64 bytes from 220.181.6.81: icmp_seq=2 ttl=51 time=284 ms
64 bytes from 220.181.6.81: icmp_seq=3 ttl=51 time=283 ms
×îºóµÄ283msÖ¸µÄÊÇ´Ó¿Í»§¶Ë·¢ËÍ64¸ö×Ö½Úµ½baiduÈ»ºóÔÙ·µ»Ø½ÓÊÕµ½µÄÍù·µÊ±¼ä£¨round-trip time£©ÊÇ283ºÁÃë¡£
²âÁ¿Á¬½Ó´ø¿íͨ³£ÐèÒªÖ±½ÓÏÂÔØÄ³¸ö½Ï´ó£¨±ÈÈ缸ʮÕ×£©µÄ̽ÕëÎļþ£¬È»ºó²âÁ¿Æ½¾ùÏÂÔØµÄKB/s¡£µ«ÕâÖÖ·½·¨²¢²»×¼È·£¬ÒòΪµ¥¸öÍøÒ³µÄ×Ö½ÚÊýÍùÍù½ÏС£¨¼¸Ê®µ½ÉϰÙK×Ö½Ú£©£¬ÓÐЧ´«ÊäËÙ¶È£¨effective transfer speed£¬Êµ¼ÊµÄ´«Êä×Ö½ÚÊý³ýÒÔ´«Êäʱ¼ä£©ÍùÍù´óÓÚ´óÎļþµÄƽ¾ù´«ÊäËÙ¶È£¬¶øË³Ê±µÄ±¬·¢´«ÊäËÙ¶È£¨burst speed£©¸üÓпÉÄÜÊÇÆ½¾ùËٶȵÄÊý±¶¡£¶øÇÒ·þÎñÆ÷ºÍÓû§£¨ÌرðÊÇÓû§£©µÄÍøÂç×Ü´ø¿í»áÓ°Ïìµ½Á¬½Ó´ø¿í¡£
ͨ³££¬Õ¾³¤ÇëÇóÓû§²âÊÔÍøÕ¾ËÙ¶È»á°üÀ¨Á½¸ö²½Ö裬һÊÇÇëÓû§ping·þÎñÆ÷£¬ÁíÒ»¸ö¾ÍÊÇÇëÓû§ÏÂÔØÄ³¸ö̽ÕëÎļþ¡£ÔÚÎÞ·¨Ê¹ÓÃping µÄÇé¿ö£¬»òÕßµ±ÑӳٽϸßÐèÒª²éÕÒÎÊÌâµÄʱºò£¬Õ¾³¤Ò²»áÒªÇóÓû§²¹³ätracerouteÊý¾Ý£¬ÒÔ±ã¸ù¾ÝÁ¬½Ó¾ÓÉ·¾¶µÄÇé¿öÀ´·ÖÎö¸ßÑÓ³Ù²úÉúµÄÔÒò¡£
Á¬½Ó´ø¿íÍùÍùÊDz»¶Ô³ÆµÄ£¨ÉÏ´«ºÍÏÂÔØËٶȲ»Í¬£©£¬µ«ÍøÂçÑÓ³Ùʱ¼ä»ù±¾ÊǶԳƵģ¬Ò²¾ÍÊÇ˵Óû§ping·þÎñÆ÷µÄʱ¼äÓ¦¸ÃºÍ·þÎñÆ÷ pingÓû§µÄʱ¼ä´óÖÂÏàµÈ¡£ÀûÓÃÕâ¸ö¶Ô³ÆÐÔ£¬ÎÒдÁËtrAlyzr£¬Ò»¸öÓÃÀ´×Ô¶¯Í³¼ÆÍøÕ¾ºÍÓû§Ö®¼äÍøÂçÑÓ³Ùʱ¼äµÄ¹¤¾ß°ü¡£¿¼Âǵ½Óû§¿ÉÄÜÔÚijÖÖ·À»ðǽ֮ÄÚ²»ÊÇ×ÜÄÜping µÄͨ£¬trAlyzrÀûÓôӷþÎñÆ÷traceroute·Ã¿ÍIPÀ´²âÁ¿ÍøÂçÑÓ³Ù£¬µ±Óû§ÔÚ·À»ðǽ»òÕ߹ػúµÄʱºò£¬²âÁ¿µ½µÄʵ¼ÊÉÏÊÇ·þÎñÆ÷ºÍ×îÖÕµÄÄǸö·À»ðǽ»òÕßÍø¹ØµÄÑÓ³Ù£¬µ«ÒòΪ·À»ðǽºÍÍø¹ØºÍ¾ÖÓòÍøÄÚµÄÓû§»úÆ÷ÑÓ³Ùͨ³£ºÜС£¨¼¸¸öms»ò¸üС£©£¬ÕâÖÖ·½·¨²âÁ¿µ½µÄ¼¸ºõ¾ÍÊÇ·þÎñÆ÷ºÍÖÕ¶ËÓû§µÄÁ¬½ÓÑÓ³Ù¡£
ÎÒ±àдÕâ¸ö¹¤¾ßµÄÄ¿µÄÖ÷ÒªÊÇΪÁË·ÖÎö·þÎñÆ÷ÔÚÃÀ¹ú£¨»òÕ߯äËû¹úÍâµØÇø£©µÄVPS¶ÔÖйúIPµÄÍøÂçÑÓ³Ù£¬Èç¹ûÄãÐèÒª²âÁ¿¹úÄÚ»òÕßÃÀ¹úµÄ·þÎñÆ÷¶ÔÈ«Çò¸÷µØIPµÄÍøÂçÑÓ³Ù£¬ÄãÒª¶Ô¹¤¾ßÖеĽű¾×öÐ޸ġ£
Õâ¸ö¹¤¾ßÀûÓÃQQµÄ´¿ÕæIPÊý¾Ý¿âÀ´·ÖÎöÓû§IPµÄµØÀíλÖá£
ÏÂÔØ
Äã¿ÉÒÔÔÚsvn ÖÐÏÂÔØÕâ¸öÈí¼þ:
svn checkout http://tralyzr.googlecode.com/svn/trunk/ tralyzr
ʹÓÃ
ÕâÊǸöLinuxÏµĹ¤¾ß¡£ÒòΪÐèÒªtraceroute£¬Äãͨ³£ÐèÒª rootȨÏÞ²ÅÄÜÔËÐÐÕâ¸öÈí¼þ¡£½Å±¾ÊÇpythonдµÄ£¬ËùÒÔÄãÒ²ÐèÒª python¡£
½âѹºó½« getips.pyÖеÄ
f=open("%s/sample_ips.log"%curdir)
Ò»ÐÐÐÞ¸ÄΪÄãµÄÍøÕ¾·þÎñÆ÷µÄlogλÖ᣶ÔlogµÄ¸ñʽûÓÐÌØ±ðÒªÇó£¬Ö»Òª·ÃÎÊÕßµÄIPÊÇÔÚÿÐеÄ×îÇ°Ãæ¼´¿É¡£
Èç¹ûÄã²»ÐÞ¸Ägetips.pyÎļþ£¬ÄÇôĬÈÏʹÓÃsample_ips.log
È»ºó
./getips.py
¿É´ÓlogÎļþÖн«ËùÓÐÖйúµÄ·ÇËÑË÷ÒýÇæµÄIPÌá³ö´æ·ÅÔÚips.txtÖС£È»ºótracerouteÕâЩIP£º
./traceip.py
ÔËÐÐʱ¼äÈ¡¾öÓÚips.txtÖеÄIPÊýÄ¿ºÍÄãµÄÍøÂçÇé¿ö£¬traceroute 1000¸öIP¿ÉÄÜÐèÒª40·ÖÖÓ×óÓÒ¡£tracerouteµÄ½á¹û»á·ÅÔÚdata/Ŀ¼Ïµȴý·ÖÎö¡£
È»ºóÓÃparseip.py½Å±¾·ÖÎö´æ·ÅÔÚdata/ϵĽá¹û£¨×¢Òâ·ÖÎöÕâЩÊý¾Ý²»ÐèÒªrootȨÏÞ£©£º
./parseip.py
·ÖÎöµÄÊý¾Ý»á±£´æÔÚÏÂÃæÈý¸öÎı¾¸ñʽµÄÎļþÖУº
1. delays.dat : ´æ·ÅÁËÓû§µÄÍøÂçÑÓ³Ùʱ¼ä·Ö²¼£¬´Ó100ms¿ªÊ¼µ½600ms
2. prov_delay.dat : ´æ·ÅÁ˸÷¸öÊ¡µÄÓû§Á¬½Ó·þÎñÆ÷µÄƽ¾ùÑÓ³Ù
3. prov_num.dat : ´æ·ÅÁ˸÷¸öÊ¡µÄÓû§£¨IP£©Õ¼×ÜIPµÄ°Ù·Ö±È
ΪÁËÐÎÏóµØÕ¹Ê¾ÕâЩÊý¾Ý£¬ÎÒдÁËÈý¸ö gnuplot½Å±¾»æÖÆÊý¾Ýͼ¡£Äã¿ÉÒÔͨ¹ý
gnuplot *.g
À´Éú²úͼ±í¡£
Ö÷Ò³£ºhttp://code.google.com/p/tralyzr/
À´×Ô:¿ªÔ´ÖйúÉçÇø

