ã¡ãªã¿ã«ããã®ã¹ããŒãªãŒãæ°ã«å ¥ã£ããã11æ30æ¥ã«ãµã³ã¯ãããã«ãã«ã¯ãªãã£ã¹ã®ãã¹ãæ°Žææ¥ã«æ¥ãŠãã ããïŒ ç»é² ïŒ-ãã¹ãã®ã²ãŒã ã¡ã«ãã¯ã¹ã«ã€ããŠè©³ããã話ãããŸããåãã§ã話ãããŸãã ã ããã
2005幎ãã2006幎ã«ãããŠãYandexã®éæ€çŽ¢ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžéšã¯ãRunetã®é µæ¯ã«ããæé·ã®è² æ ãçµéšãå§ããŸããã ãŸããæ€çŽ¢ã«é£æ¥ãããµãŒãã¹ã®ããã©ãŒãã³ã¹ããã¹ãããå¿ èŠããããŸãã-ãããŒãã€ã¹ãã åœæã¹ãã¬ã¹ãã¹ããæ åœããŠããTimur Khayrullinã¯ãé©åãªããŒã«ã®æ€çŽ¢ã«å°æããŠããŸããã
ãããããã®æç¹ã§ååšããŠãããªãŒãã³ãœãªã¥ãŒã·ã§ã³ã¯ãéåžžã«åå§çïŒab /å å²ïŒã§ããããçç£æ§ãäžååïŒjmeterïŒã§ããã HP Load Runnerã¯åçšãŠãŒãã£ãªãã£ãšã¯äžç·ãç»ããŠããŸããããã©ã€ã»ã³ã¹ã®ã³ã¹ããé«ãããããã©ã€ãšã¿ãªãœãããŠã§ã¢ãšã®çµã³ã€ãã¯æºè¶³ããŸããã§ããã ãã®ãããé«æ§èœãã¡ã³ãã WebãµãŒããŒã®éçºè ã§ããZhenya Mamchitsãšäžç·ã«ãTimurã¯ããªãããŒãªããªãã¯ãæãä»ããŸããã圌ãã¯ãµãŒããŒã«ã¯ã©ã€ã¢ã³ãã¢ãŒãã§åäœããããã«æããŸããã ãããããã¡ã³ãã ãã³ãããŒã¯ã¢ãžã¥ãŒã«ã®ç±æ¥ã§ãã ãã¡ã³ãã ã³ãŒãèªäœã¯çŸåšéããŠãããããããããŠã³ããŒãã§ããŸã ããŸãããã¡ã³ãã ã«é¢ããã¹ããŒãªãŒã¯ããã¬ãŒã³ããŒã·ã§ã³ãããªããèŠãããšãã§ããŸã ã
ãã®åŸãPhantomã¯éåžžã«ã·ã³ãã«ã§ããµãŒããŒã®æ倧ããã©ãŒãã³ã¹ã®ã¿ã枬å®ããæ¹æ³ãç¥ã£ãŠãããããã¹ã¬ããæ°ãå¶éããããšããã§ããŸããã§ããã ãããããã®åœæãã§ã«ãç§ãã¡ã®ãŠãŒãã£ãªãã£ã¯ããã®ã¢ããã°ãããçç£æ§ãé ãšè©ã«ãããŸããã ãã®ãããè² è·ãã¹ãã¯ãŸããŸãå€ãã®ãµãŒãã¹ã«åãããå§ããŸããã 2006幎ãã2009幎ã«ãããŠãè² è·ãã¹ãããŒã ã¯10人ã«ãªããŸããã ãã¿ãŒã²ãããã®ãã¿ã³ã¯ããããã«ãŒããªããžããšãã·ã¥ãŒããããããŒããã«ããŒããããã¿ã³ã«ãŒããšããååãéåžžã«ãã°ããä»ãå ããããŸããã æŠè»ã®ããŒãã¯ãŸã æ®ã£ãŠããŸãã ãªãœãŒã¹ãç¯çŽããããã«ãç¹å¥ãªããã¬ãŒãã³ã°å ŽããŸãã¯ãé¶å°å±ããäœæããã¹ãã¬ã¹ãã¹ãçšã«ä»®æ³ãã·ã³ãä¿æããŸããã åœæã®ä»®æ³åãã©ãããã©ãŒã ã¯openvzã§ããããæ°ããã«ãŒãã«ãšubuntuãµãŒããŒã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãµããŒããæ¹åãããããã lxcã«å®å šã«åãæ¿ããŸããã lxcã³ãã¥ããã£ãå°éããŠãã ããïŒ
çä¿¡ãµãŒãã¹ãšè² è·ãã¹ãã®äººæ°ã®é«ãŸãããŸãã¯ããããµãŒãã¹ããŒã ã®èªå·±èªèã®æé·ãšäžŠè¡ããŠãããŒã«ã®æ©èœã®å¶éã«ã€ããŠç解ãåŸãããŸããã
éçºè ã®æ¯æŽãšãã¿ã³ã«ãŒãã¢ã³ãã¬ã€ã»ããã«ã»ã¯ãºããã§ãã®ãªãŒããŒã·ããã®äžã§ããã¡ã³ãã ãè² è·ãã¹ãããµããŒãããããã®å®éã®ãã¬ãŒã ã¯ãŒã¯ãLunaparkã«éçºãå§ããŸããã 以åã¯ããŠã£ããJIRAãã¡ãŒã«ãªã©ã§ã¬ããŒãã®ç·šæã貧匱ã ã£ããããçµæã¯å¶ç¶ã§ãããéåžžã«äžäŸ¿ã§ããããã®çãç®æã«å€ãã®äœæ¥ãå ¥ããåŸã ã«ããã·ã¥ããŒããšã°ã©ããåããå®éã®Webã€ã³ã¿ãŒãã§ã€ã¹ãååŸããŸããã JIRAã®ãã±ããã«é¢é£ä»ããããŠããããããã¹ãŠã®ã¬ããŒããæçµçã«åäžã§æ確ãªãã¶ã€ã³ã«ãªããŸããã Webã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããŒã»ã³ã¿ã€ã«ãã¿ã€ãã³ã°ãå¹³åæéãå¿çã³ãŒããéåä¿¡ããŒã¿ã®éãããã³çŽ30ã®ç°ãªãã°ã©ããšè¡šã衚瀺ããããšãåŠã³ãŸããã ããã«ãLunaparkã¯ã¡ãŒã«ããžã£ããŒããã®ä»ã®ãµãŒãã¹ãšæ¥ç¶ãããŠããŸããã Phantom Load Generatorèªäœãå€æŽã«åæ ŒããŸããã§ãã-圌ã¯ä»¥åã¯ç¥ããªãã£ãããšã®å€ããè¡ãããšãåŠã³ãŸããã ããšãã°ãã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠèŠæ±ãéä¿¡ããŸã-ç·åœ¢ã段éçãè² è·ãæžããããŒãããã³éšåè² è·ãåçã«ïŒïŒïŒæäŸããŸãã ããŒã¿ã®éããšã©ãŒãåçãç£èŠããããŒã»ã³ã¿ã€ã«ä»ãã®åºåãã³ã³ãœãŒã«åºåã«è¿œå ããŸããã ããã¯ã2009ãµã³ãã«ã®ã³ã³ãœãŒã«åºåã®ããã§ãã
åŸã ã«ãäžéšã®ãµãŒãã¹ãåžžã«ãã¹ãããã ãã§ãªãããªãªãŒã¹ããšã«ãããã®ãµãŒãã¹ãéæè¿œå ããå¿ èŠãããããã¹ãå士ãæ¯èŒããããšãå¿ èŠã§ããããšãç解ãããŸããã ããã¯ãããŒããã¹ã¿ãŒã®äœæ¥ã«éèŠãªLunaparkããŒãžãã©ã®ããã«è¡šç€ºããããã§ãïŒãã¹ãã®æ¯èŒãšååž°ã ã ãã圌ãã®æåã®ããŒãžã§ã³ãèŠããã
ãã¹ã¿ãŒãéçºè ããŸãã¯ãããŒãžã£ãŒã¯ãã€ã§ããããã©ãŒãã³ã¹ã®èŠ³ç¹ãã補åã®éçºç¶æ³ãç¥ãããšãã§ããŸãã çŸåšããããã®ããŒãžã®æ¹åãšãã¬ãŒã ã¯ãŒã¯ã®å é ãžã®é 眮ã«åãçµãã§ããŸãã éçºã®çŸåšã®æ®µéã§æãéèŠãªã®ã¯ãåäœãã¹ãã§ã¯ãªããçç£æ§ã®åŸåã§ãã
2011幎ã«éèŠãªã€ãã³ããçºçããŸãããç§ãã¡ã¯Yandexã§åããŠã¯ãŒã¯ãããŒã®ã²ãŒããã£ã±ãŒã·ã§ã³ãéå§ããæåã®ããŒã ã«ãªããŸãããããã«ã€ããŠã¯ããã¹ãç°å¢ã«é¢ããå¥ã®ã¬ããŒããäœæããŸãã çŸåšã§ããããã¯æå 端ã®ITäŒæ¥ã§ã¯ãã£ãã«èŠãããŸããã ã«ãããŒã¯ã®ããŒãžã§ã¯ãã殿å ããæ²ããŠããããã¬ãŒã ã¯ãŒã¯ã®ãã®éšåãéåžžã«èªãã«æã£ãŠããŸãã ç¹å®ã®ãã¹ãã«ã€ããŠã¯ãè² è·ãã¹ã¿ãŒã«ââæ¬åœã«èŠªåãªãããããšãããšäŒããããšãã§ããŸãã åãã¹ã¿ãŒã¯ããã®ã€ãã³ããŸãã¯ãã®ã€ãã³ãã«å¯ŸããŠç°ãªããããžãåãåãããã¿ã³ã¯åžä»€å®ãïŒForskverikã®åžé·ïŒã«ãªããå®è¡ããããã¹ãã®æ°ã«å¯ŸããŠçºè¡ããããã©ã³ã¯ãã«ãããªããŸãã æ¥åžžã®ä»äºã®äžã§ãã©ããªææãæè¬ããéã®éãã®äŸ¡å€ããããŸãã ããã¯éåžžã«ã¯ãŒã«ãªåæ©ã§ãã
2011幎ã¯ãã¹ãã¬ã¹ãã¹ãã®è»¢æç¹ãšèããŠããŸãã éçºããŒã ã¯ãPohilkoã®äžã®AndreiãçããŠããŸããã ãã¹ã¿ãŒã³ãã¥ããã£ã¯ã圌ãJmeterã®åªãããã©ã°ã€ã³ã®éçºè ã§ããããšãç¥ã£ãŠããŸãã ã¢ã³ãã¬ã€ã¯æ°é®®ãªã¢ã€ãã¢ãšã¢ãããŒããæã¡èŸŒã¿ãŸããããä»ã§ã¯ä»äºã«éåžžã«åœ¹ç«ã¡ãŸãã
ãŸããå€ããã©ãã€ã ã§ããŒã«ãéçºãããšã説æããæéã¯ãããŸãããã³ãŒããã倱æããã¢ãžã¥ãŒã«åéçºãã©ãã€ã ã«åãæ¿ãããŸããããã§ã¯ã倧ããªã¢ããªã¹ãã³ã³ããŒãã³ãã«å解ããããããžã§ã¯ãå šäœãè ããããšãªãåå¥ã®ããŒãã§éçºãããŸãã 第äºã«ãè² è·ãã¹ãã®æ³šæã¯http-trafficã«é¢å¿ã®ãªããµãŒãã¹ããéå§ããå§ãããããSMTP / POP3 / FTP / DNSããã³ãã®ä»ã®ãããã³ã«ããã¹ãã§ããããŒã«ãå¿ èŠã§ããã ãã®ãããªãµãŒãã¹ããšã«ãã¡ã³ãã ãã¬ãŒãäœæããã®ã¯è²»çšããããããã«æããããããLunaparkã«éåžžã®Jmeterãæ§ç¯ããããšã«ããŸããã ãããã£ãŠãå°ãã®åŽåã§ãè² è·ãã¹ãã§å€æ°ã®æ°ãããããã³ã«ããµããŒãããããšãåŠã³ãŸããã åã蟌ã¿ã«ãããJmeter GUIã«åãæ¿ããããšãªãæšæºã®Webã€ã³ã¿ãŒãã§ãŒã¹ãçµäºã§ããŸããã Jmeterã®ãµããŒãã«å ããŠãç§ãã¡ã®æŠè»ã¯æçµçã«SSLãIPv6ãUDPããšãªããã£ãã¯ãåäžãžã§ãã¬ãŒã¿ãŒããè€æ°ã®ã¢ãã¬ã¹ãžã®ããã«ããã¹ãããåæ£ãžã§ãã¬ãŒã¿ãŒããæ°çŸäžrpã®è² è·ã®ããŒããªã©ããµããŒãããããšãåŠã³ãŸããã
ããæç¹ã§ãè² è·ãã¹ãã®æ³šæãéåžžã«å°ãªããªããæããã«ãªããŸãããè² è·ãã¹ã¿ãŒããã«ãŒãã³ãã¹ããšååž°ãã¹ããåé€ããªããšãæ¯å¹Žã¹ã¿ããã2åã«ããããšã¯ã§ããŸããã ãã®åé¡ã解決ããããã«ãçŸåšã®ãã¹ãŠã®æ¥åžžæ¥åãåæããããŸããŸãªãã¹ãã®æ·±ãã§ãµãŒãã¹ã«ã¢ãããŒãããå¿ èŠãããããšãããããŸããã 次ã®äœæ¥ã¹ããŒã ãæãã€ããŸããã
- ãããã¿ã€ããŸãã¯å®éšã¢ã»ã³ããªããã¹ãããããã«ãè² è·ãžã§ãã¬ãŒã¿ãŒã®çå€ããŒãžã§ã³ãäœæããŸãããããã«ãæºåãæŽã£ããããžã§ã¯ãããè² è·ã®ãããæ åœè ãããããªãããã«ããããã¿ã€ãã®è² è·ãã¹ãããããã°ããããã«éçºè ãŸãã¯ã·ã¹ãã 管çè ã«æšå¥šãå§ããŸããã çµæã¯Lunaparkãã¬ãŒã ã¯ãŒã¯ãšäºææ§ãããããabã䜿çšããŠãããã¿ã€ãããã¹ãããŸãããã1000 rpãåºåããLunaparkã§ã¯500ã®ã¿ã§ãããšããç¶æ³ã¯ãããŸããã
- è² è·ãçªç¶æ°åå¢å ããå¯èœæ§ããã1åéãã®ãµãŒãã¹ãŸãã¯ã€ãã³ããµãŒãã¹ïŒã¹ããŒããçµ±äžåœå®¶è©Šéšããã¥ãŒã¹ãããã¢ãããžã§ã¯ãïŒããã¹ãããããã«ãæ¢è£œã®ãã³ãã«ããããµãŒãã¹ãå±éãããã¯ã€ãã¯ãªããä»®æ³ãã·ã³ãç¶æããŸãã ãã¹ãã¯æåã¢ãŒãã§å®è¡ãããããŒããªããžã§ã¯ããããªã¢ãŒããã¬ã¡ããªãåé€ãããŸãã ããã»ã¹ã¯ãæ倧5ã10人ã®ãã¿ã³ã«ãŒããéçºè ã管çè ã座ããç¹å¥ãªãã£ããã«ãŒã ã§èª¿æŽãããå ŽåããããŸãã å éšçµ±èšã«ãããšãæåãã¹ãã®50ïŒ ïŒïŒïŒããŸããŸãªããã©ãŒãã³ã¹ã®åé¡ããã£ããããŸã-誀ã£ãŠæ§ç¯ãããã€ã³ããã¯ã¹ããã¡ã€ã«æäœã®ãã¹ãã€ã¯ããäžååãªæ°ã®ã¯ãŒã«ãŒãªã©ã æçµçµæã¯JIRAã«ãã£ãŠææžåãããŸãã
ãã¹ãçšã®ãªã³ã©ã€ã³ããŒãžã®äŸã
åæã®ããã«ãå¿çæéãªã©ã®ãªãã·ã§ã³ã®ã°ã©ããå«ããããšãã§ããŸãã
HTTPããã³ãããã¯ãŒã¯ãšã©ãŒïŒ
çžäºäœçšãšãããŒã®ããŸããŸãªæ®µéã§ã®æéïŒ
ååž°ãã¹ãããŸãã¯çµæãéçºè ãŸãã¯ç®¡çè ã«åãå ¥ãããããã¹ãã®ããã«ãããããèªåãã¹ãããã³åèªåãã¹ããäœæããŸããã ããã«ã€ããŠã¯å¥ã«è©±ãããå¿ èŠããããŸãã
2011幎ã®çµããã«ãå®éã«ã¯ãã¹ãŠã®ãã¹ãæäœãã¹ã¯ãªãããåŒã³åºãããŸãã¯ããç°¡åã«äœããã®å®è¡ã¡ã«ããºã ã§å®è¡ã§ããããšã«æ°ä»ããŸããã ãã®ãããªæŽ»åã«ã€ããªãã®ãŒçã«æãè¿ãã®ã¯ããããžã§ã¯ããçµã¿ç«ãŠãäžé£ã®ãã¹ããå®è¡ããã€ãã³ãã«ã€ããŠéç¥ããåæ Œæã«è©æ±ºãåºãããšãã§ããCIãã¬ãŒã ã¯ãŒã¯ã§ãã ãããã®ããŒã«ã®ãªãã·ã§ã³ã調ã¹ããšãããå€ãã®ãªãŒãã³ãã¬ãŒã ã¯ãŒã¯ãååšããªãããšãããããŸããã Jenkinsã¯ãã©ã°ã€ã³ã®å©ããåããŠæ©èœãæ¡åŒµããã®ã«æã䟿å©ã§ãããLunaparkã®è¿ãã§ãã¹ãããåŸããã¹ãã§å®è£ ããŸããã ç¹å¥ãªAPIãšçµã¿èŸŒã¿ã¹ã±ãžã¥ãŒã©ãžã®å€éšåŒã³åºãã䜿çšããŠããã¹ã¿ãŒã®ãã¹ãŠã®ã«ãŒãã³äœæ¥ãJenkinsã«ç§»è¡ããããšãã§ããŸããã éçºè ã¯ããä»ãããµãŒãã¹ããã¹ãããŠãã ããããšãã貎éãªãã¿ã³ãåãåããŸãããããŒãã³ã¬ã¯ã¿ãŒã¯ãåå ããã«1æ¥ã«æ°åãŸãã¯æ°çŸãã®ãã¹ããåãã管çè ãšã·ã¹ãã 管çè ã¯ãã«ãããšã«ããã©ãŒãã³ã¹ã®ååž°ã°ã©ããåãåããŸããã çŸæç¹ã§ã¯ãèªåãã¹ããç·ãããŒã®çŽ70ïŒ ãå ããŠããããã®ã€ã³ãžã±ãŒã¿ã¯åžžã«æé·ããŠããŸãã ããã«ãããã¹ã¿ããã®æ°å人ãæããããã¹ã¿ãŒã®ç¥èœãæåãã¹ããšç 究ãã¹ãã«éäžãããããšãã§ããŸãã
ç±å¿ãªèªè ã¯ãLunaparkãåŸã ã«ç¬ç«ããæ§é ãè¡šãããã«ãªã£ãããšã«æ°ä»ãã§ããããçå€ãããè² è·ãžã§ãã¬ãŒã¿ãŒãçµ±èšãšãã¬ã¡ããªã®ããã¯ãšã³ããããã³ç¬ç«ããèªååãã¬ãŒã ã¯ãŒã¯ã§ãã ãããèŠãŠãbaabakaãLunapark ã«ã€ããŠè©±ããŠããYAC'10ã§ãRunetå šäœã®ãã¹ã¿ãŒãããããæ©äŒã«Lunaparkã®ãªãŒããã³ã°ã§ç§ãã¡ãã ãŸããŠãLunaparkã®äžéšããªãŒãã³ãœãŒã¹ã«ããããšã決ããŸããã 2012幎ã®å€ãã¢ã¹ã¯ã¯ã®Yandex.Subbotniksã®1ã€ã§ããã¹ã¿ãŒã®ã³ãã¥ããã£ã«LOADãžã§ãã¬ãŒã¿ãŒãæäŸããŸãã ã çŸåšãjmeterãšabãµããŒããçµã¿èŸŒãŸãã軜ãã°ã©ãã£ãã¯ã¹ãåããYandex.Tankã¯ãå€éšgithubã§ã®ã¿éçºãããã¯ã©ãã§ã®ãŠãŒã¶ãŒã®è³ªåã«çããéçºè ããã®å€éšãã«ãªã¯ãšã¹ããåãå ¥ããŸãã
Runetã®ããŒããã¹ã¿ãŒã®ã³ãã¥ããã£ã¯å°ãããå©çšå¯èœãªç¥èã¯éåžžã«å°ãªããè¡šé¢çã§ãããããã«ãããããããçç£æ§ã®ãããã¯ãžã®é¢å¿ã¯é«ãŸã£ãŠããŸãã ãããã£ãŠããã®åéã§ã®çµéšãšç¥èãå ±æããè² è·ãããŒã«ããã¹ãæ¹æ³ã®ãããã¯ã«é¢ããèšäºãå®æçã«çºè¡ããããšããçŽæããŸãã