æ ç»ãã¬ã€ã¯ããŠã¹ãããæ®åœ±ã ããŒãã£ã³ã°ïŒwww.kinopoisk.ruïŒãžã ã¯ã圌女ãžã®ã¢ãããŒãæ¹æ³ãäŒè©±ãéå§ããå Žæã話ãèšèªããŸã ç¥ããŸããã§ããã ãããã圌ã¯å€ãã®èšèªãææããè¢ã«è€æ°ã®åãæããããŸããã ãããŠãæ¬åœã®å人ïŒããã¯ããªããšç§ã§ãïŒã®å©ãã«èªä¿¡ãæã¡ãçããå¿ããŠãç§ã¯éåœã«äŒãã«è¡ããŸããã
以äžã¯ãJimãäžæ
£ããªã·ã¹ãã ã®äžå¿ãã©ã®ããã«ç²åŸãããã«ã€ããŠã®ç©èªã§ãã äœäººãã®èŠç¥ãã¬äººããããšã¯æããªãã§ãã ããã 圌女ã¯ãã äžäººã§ããããéåžžã«ç°ãªã£ãŠããŸãããããããç©èªã¯æ¬¡ã
ã«ç¶ããŸãã
ãŸããã
ãªãã¿ã®ãªãã·ã¹ãã ã«ãªã¯ãšã¹ããéä¿¡ããããã®äžè¬çãªãªãã·ã§ã³ãªãã¿ã®ãªãã·ã¹ãã ã«ãªã¯ãšã¹ããéä¿¡ããããã«ã次ã®ãªãã·ã§ã³ã䜿çšããŸããã
- 圌ã¯ããã¹ã察象ã®ã·ã¹ãã ã«èŠæ±ãéä¿¡ã§ããäžéWebã¢ããªã±ãŒã·ã§ã³ãäœæãã HTTPèŠæ±ã³ã³ããŒãã³ãã䜿çšããŠWebã¢ããªã±ãŒã·ã§ã³ã«ã³ãã³ããéä¿¡ããŸããã
- ãã¹ããããã·ã¹ãã ã«èŠæ±ãéä¿¡ã§ããäžéWebãµãŒãã¹ãäœæãã SOAP / XML-RPCèŠæ±ã³ã³ããŒãã³ãã䜿çšããŠWebãµãŒãã¹ã«ã³ãã³ããéä¿¡ããŸããã
- OS Process Samplerã³ã³ããŒãã³ãã䜿çšããŠJMeterããã¯ã©ã€ã¢ã³ããšåŒã°ããããã¹ã察象ã®ã·ã¹ãã çšã®ã³ã³ãœãŒã«ã¯ã©ã€ã¢ã³ããäœæããŸããã
- ãã¹ã察象ã·ã¹ãã ãæäœããããã®JavaïŒCïŒïŒã§ã©ã€ãã©ãªïŒAPIïŒãäœæãã JSR223ãµã³ãã©ãŒã³ã³ããŒãã³ãã䜿çšããŠã©ã€ãã©ãªã¡ãœãããåŒã³åºããŸãã ã
- JMeterçšã®ãã©ã°ã€ã³ãäœæããŸããã
Webã¢ããªã±ãŒã·ã§ã³ãšHTTPãªã¯ãšã¹ããŸãã¯WebãµãŒãã¹ãšSOAP / XML-RPCãªã¯ãšã¹ã
JMeterã¯HTTPããã³SOAPãªã¯ãšã¹ããéä¿¡ã§ããããšãç¥ãããŠããŸãã ãŸããçµ±åã®åé¡ã解決ããããã«ããã¹ã察象ã®ã·ã¹ãã ã«ãªã¯ãšã¹ããéä¿¡ãã
HTTPçµç±ã§
JMeterããã³ãã³ããåä¿¡ããWebã¢ããªã±ãŒã·ã§ã³ãäœæãããªãã·ã§ã³
ãããéžæãããŸãã
äŸã
HTTPãä»ããŠ
SOAP / MSBin1 ãããã³ã«ã§å®è¡ãããwcfãµãŒãã¹ããã¹ãããŸããã
JMeter㯠SOAP / MSBin1ãããã³ã«ã䜿çšã§ããŸããã1ã€ã®ãã±ããã§å°ããªãªã¯ãšã¹ããéåžžã«èªã¿ã«ãã圢åŒã§éä¿¡ã§ããŸããã倧ããªãªã¯ãšã¹ããéä¿¡ãããã倧ããªã¬ã¹ãã³ã¹ãåä¿¡ãããããããšã¯ã§ããŸããã
æåã®ãœãªã¥ãŒã·ã§ã³ã¯ããã§ã
Visual Studioã䜿çšããŠãã¹ã察象ã·ã¹ãã ïŒwcfãµãŒãã¹ïŒã®ã¯ã©ã€ã¢ã³ã
ãçæãã
HTTPçµç±ã§
JMeterããã³ãã³ããåä¿¡ã§ãããã¹ãWebãµãŒãã¹ãäœæããŸããã
ãŸãã¯ããã¹ãã·ã¹ãã ã«
Python APIãããå ŽåããããŸãã ãŸããPythonã³ãŒããåŒã³åºãããã«ã
JMeterããã³ãã³ããåãåããã·ã¹ãã ã«è² è·ãé©çšãã
Python Webã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
軜éWebã¢ããªã±ãŒã·ã§ã³
ãã¹ã察象ã®ã·ã¹ãã ã«å°ããªè² è·ããããWebã¢ããªã±ãŒã·ã§ã³ã Webã¢ããªã±ãŒã·ã§ã³ã«ãã°ã€ã³ããããšãéèŠã§ããWebã¢ããªã±ãŒã·ã§ã³ã䜿çšããå Žåãåžžã«ã¿ã€ã ã©ã°ãçºçããŸãã JMeterãšäžéWebã¢ããªã±ãŒã·ã§ã³ãšã®çžäºäœçšæéã¯ãäœè² è·ã§ããŒãã§ã¯ãããŸããã ãããã£ãŠããã¹ã察象ã·ã¹ãã ã®ãªã¯ãšã¹ãã«å¯Ÿããå¿çæéã¯ãäžéWebã¢ããªã±ãŒã·ã§ã³ã®ãã°ã«ãã£ãŠæž¬å®ããå¿
èŠããããŸãã JMeterã§ä¿®æ£ããããªã¯ãšã¹ãåŠçæéã¯ãæå³çã«é·ããªããŸãã ãããã£ãŠã
JMeterã®ãã°ãšäžéWebã¢ããªã±ãŒã·ã§ã³ã®ãã°ã®2ã€ã®ãã°ãç¶æããããšãéèŠã§ãã Webã¢ããªã±ãŒã·ã§ã³ãã°ã解æãããã®çµ±èšãäœæã§ããããã«ããŸãã
è² è·ã®é«ãWebã¢ããªã±ãŒã·ã§ã³
è² è·ãé«ãWebã¢ããªã±ãŒã·ã§ã³ã¯ããã¹ã¿ãŒãããŠããªãå Žåãé害ç¹ã«ãªãå¯èœæ§ããããŸãã倧ããªè² è·ãäœæãããšããå€ãã®å Žåãããã€ãã®
JMeterãå®è¡ããå¿
èŠããããŸãã äžéWebã¢ããªã±ãŒã·ã§ã³ãåŠçã§ããªãå¯èœæ§ãããå€ãã®èŠæ±ãäœæãããŸãã ã¿ã€ã ã©ã°ã倧ãããªããŸãã è² è·ã倧ãããšãWebã¢ããªã±ãŒã·ã§ã³ãžã®ãã°ã€ã³ãé
ããå Žåãããããã¹ããããã·ã¹ãã ã®å¿çæéãä¿®æ£ãããšãã«ãããã«ã¿ã€ã ã©ã°ãçºçããŸãã äžã®å³ã§ã¯ãäžéWebã¢ããªã±ãŒã·ã§ã³ãèµ€ã§åŒ·èª¿è¡šç€ºãããã°ãã¡ã€ã«ãžã®ç¢å°ãç¹ç·ã§ç€ºãããŠããŸãã
é »ç¹ã«ãã¹ããããã·ã¹ãã ã«ã¯ãããŒããã©ã³ãµãŒãšè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãå«ãŸããŸãã ã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ã«åŸã£ãŠè² è·åæ£ãå®è¡ãããå Žåã1ã€ã®äžéWebã¢ããªã±ãŒã·ã§ã³ã䜿çšããå Žåãè² è·ã¯ãã¹ãäžã®ã·ã¹ãã ã®ããŒãã®1ã€ã®ã¿ã«é©çšãããŸãã ä»ã®ããŒãã¯ã¢ã€ãã«ç¶æ
ã«ãªããŸãã äžã®å³ã§ãããææ¡ãããã¹ãããã·ã¹ãã ã®ããŒãã®1ã€ãèµ€ã§åŒ·èª¿è¡šç€ºããŸããã
倧ããªè² è·ããããåã«ã次ã®ããšãéèŠã§ãã
- èŠä»¶ãèšå®ããäžéWebã¢ããªã±ãŒã·ã§ã³ã®æ倧ããã©ãŒãã³ã¹ã決å®ããŸãã
- ãã¹ããããšãã¯ããã¹ã察象ã®ã·ã¹ãã ã®ãã©ã³ã¹æ¹æ³ãèæ
®ããŠãã ããã
倧ããªè² è·ãäœæããã«ã¯ãè€æ°ã®JMeterãšè€æ°ã®äžéWebã¢ããªã±ãŒã·ã§ã³ã䜿çšããå¿
èŠããããŸããè² è·ã¯åçã«åæ£ãããŸãè€æ°ã®ããŒãã¹ããŒã·ã§ã³ããããäžéWebã¢ããªã±ãŒã·ã§ã³ãä»ããŠããŒããåŠçãããå Žåã è² è·ãåŠçããWebã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠãåããŒãã¹ããŒã·ã§ã³ã§åå¥ã®WebãµãŒããŒãå®è¡ãããšäŸ¿å©ã§ãã
ãã®åŸããã¹ã察象ã·ã¹ãã ã®ãã©ã³ãµãŒãIPã¢ãã¬ã¹ã«ããã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãžã®ã¯ã©ã€ã¢ã³ããã€ã³ãã£ã³ã°ã䜿çšããŠããå Žåã§ããè² è·ã¯åçã«åæ£ãããŸãã
Pandasã©ã€ãã©ãªïŒ
PythonããïŒã䜿çšããŠå€ãã®ãã°ãåŠçãããããã®çµ±èšãçæãããšäŸ¿å©ã§ãã ãŸããCSVãã¡ã€ã«ãããã«ååŸã§ããããã«ãWebã¢ããªã±ãŒã·ã§ã³ãã°ãäœæããŸãã ãã®ãããªCSVãã¡ã€ã«ã¯ã
MatPlotLibã䜿çšããŠããµã€ã¯ã«ã§ããã«ããŠã³ããŒããåæãããããã§ããŸãã
Jupyther ã
Pandas ãããã³
MatPlotLibã¯ãã°åŠçã®å¿ å®ãªãã«ããŒã§ãã
ã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ãšOSããã»ã¹ãµã³ãã©ãŒ
ã¢ããªã±ãŒã·ã§ã³ã®èµ·åãéããŠè² è·ãããŒããããªãã·ã§ã³ã¯ã次ã®å Žåã«æ£åœåãããŸãã
- ãã¹ã察象ã®ã·ã¹ãã ãæäœããããã®ã¢ããªã±ãŒã·ã§ã³ã®åœ¢ã§ãæ¢è£œã®äŸ¿å©ãªã¯ã©ã€ã¢ã³ãããããŸãã
- ãã¹ã察象ã®ã·ã¹ãã ã«ã¯æ¢è£œã®åäœãã¹ããããã JMeterã䜿çšããŠãããã®ãã¹ããå®è¡ããå¿
èŠãªæ°ã®ã¹ã¬ãããéå§ããå®è¡æéã枬å®ããã ãã§ãã
- æå·åãé »ç¹ã«äœ¿çšããå¿
èŠããããŸããCïŒ/ Javaãç¥ã£ãŠãããCïŒ/ Javaã§æå·åã䜿çšããæ¹æ³ãç¥ã£ãŠããŸãã
- ãã¹ã察象ã®ã·ã¹ãã ã«ã¯.NET / Win32 / Java / Pythonçšã®SDKããããCïŒ/ C ++ / Java / Pythonãç¥ã£ãŠããŠãSDKã®äŸã䜿çšããŠã³ã³ãœãŒã«ã¯ã©ã€ã¢ã³ããç°¡åã«èšè¿°ã§ããŸãã
- 巚倧ãªãã¡ã€ã«ãããŠã³ããŒããŸãã¯éä¿¡ããå¿
èŠããããæšæºã®JMeterã³ã³ããŒãã³ãã¯ãã®ãããªèŠæ±ãå®è¡ãããšãã«ãªãœãŒã¹ã倧éã«æ¶è²»ããŸãã
- ãã¹ã察象ã®ã·ã¹ãã ãæäœããå Žåã JMeterã®ãã©ãŒã ãããIDEïŒ Intellij IDEA ã Eclipse ã KDevelop ã Visual Studioãªã©ïŒã§å®è£
ããã³ãããã°ãç°¡åãªè€éãªã¹ã¯ãªããã
ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åã«ãããã¹ã察象ã·ã¹ãã ã®è² è·æåã«ã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ãä»ããŠè² è·ã䜿çšãããšãããã¹ãã§
HTTPãä»ããŠ100 MBãè¶
ããæ倧æ°ã®ã¬ãã€ãã®ãã¡ã€ã«ãããŠã³ããŒãããå¿
èŠããããŸããã ãã®ãããªåçãåãåããšã
JMeterã¯äœ¿çšå¯èœãªãã¹ãŠã®RAMãæ¶è²»ããŸããã
Wgetãå©ãã«ãªããŸããããã®ã³ã³ãœãŒã«ããŒã«ã¯ã巚倧ãªãã¡ã€ã«ãç°¡åã«ããŠã³ããŒãããæå°éã®RAMãæ¶è²»ãã
gzipãš
ããŒãã¢ã©ã€ãããªã³ãŸãã¯ãªãã«ã§ããèšå®ãåããŠããŸãã
OSããã»ã¹ãµã³ãã©ãŒãš
wgetã¯ããã£ãã«ããã³ãã³ã°ããŠãã¹ããå®è¡ããããšãèš±å¯ããŸããããããã¯
HTTPãªã¯ãšã¹ãã§ã¯å®çŸã§ããŸããã§ããã
ã¢ããªã±ãŒã·ã§ã³ã䜿çšããæ©èœïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯å¥ã®ããã»ã¹ã§ããã倧éã®RAMãæ¶è²»ããŸãã倧ããªè² è·ãäœæããã«ã¯ã倧éã®RAMãé«éããã»ããµããŸãã¯è€æ°ã®ããŒãã¹ããŒã·ã§ã³ãå¿
èŠã§ãã
- åã¢ããªã±ãŒã·ã§ã³ã¯ç¬èªã®ãã°ãä¿æãããããåŸã§å€ãã®ãã°ãåŠçããŠçµ±èšãååŸããã®ã«äŸ¿å©ã§ããããšã«æ³šæããå¿
èŠããããŸãã
- ãã¹ãäžã®ã·ã¹ãã ãžã®çããªã¯ãšã¹ãã1ã€ã ãå®è¡ããããã«ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã®ã¯ç¡é§ãå€ããããã¢ããªã±ãŒã·ã§ã³ã«ã·ããªãªå
šäœãå®è£
ãããšäŸ¿å©ã§ããèªèšŒãæçšãªã¢ã¯ã·ã§ã³ã®ããã€ãã®å埩ãçµäºã§ãã
ã¢ããªã±ãŒã·ã§ã³ãé害ç¹ã«ãªãããšã¯ãããŸããã ããããæ©èœããå Žåãã¿ã€ã ã©ã°ã¯äžéWebãµãŒãã¹ãŸãã¯Webã¢ããªã±ãŒã·ã§ã³ã䜿çšããå Žåãããã¯ããã«çããªããŸãã éçºãšãããã°ãç°¡åã§ãã
ã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ãã¹ã¯ãªãããå·§ã¿ã«å®è¡ããããã«ã¯ãæ¬äŒŒã³ãŒãã䜿çšããŠæšæºå
¥åããã®ã¹ã¯ãªããã®åä¿¡ãã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ã«å®è£
ãããšäŸ¿å©ã§ãã ããšãã°ãããïŒ
#AuthByCertificate #GetInboxDocuments #GetContagentList #SendDocument #SendDocument #Exit
ãã®ãããªã·ããªãªã®ããŒãµãŒãäœæããŸããè¡ãïŒã§å§ãŸãå Žåããããã³ãã³ãã§ããå Žåãå¶åŸ¡ã¯ãã®ãããªã³ãã³ãã®ãã³ãã©ãŒã«è»¢éãããŸãã å¿
èŠã«å¿ããŠããã³ãã©ãŒã¯å®è¡ã«å¿
èŠãªãã©ã¡ãŒã¿ãŒãããšãã°ãŠãŒã¶ãŒèšŒææžã®ååããã¡ã€ã«ãžã®ãã¹ãèªã¿åããŸãã
ãã®ãããªã€ã³ã¿ãŒãã§ã€ã¹ãéçºããæéããªããã°ãã¹ã¯ãªãããé¢æ°ã«ã©ããããŠãã³ãã³ãã©ã€ã³ãã©ã¡ãŒã¿ãŒãä»ããŠé¢æ°ã®ååãšãã®ãã©ã¡ãŒã¿ãŒãç°¡åã«è»¢éã§ããŸãã
ConsoleApp.exe /test1 " " ".\data\Document1.txt" ".\data\Document2.jpg" ConsoleApp.exe /test2 "UserLogon1" "UserPassword1" ".\data\Document1.txt"
éåžžãã·ããªãªã®æ°ã¯å¶éãããŠããããã¹ãã®åã«èª¬æãããŠããŸãã ãããã£ãŠããã®ãªãã·ã§ã³ã䟿å©ã§ãã
OS Process Samplerã䜿çšããŠãä»»æã®æ°ã®ãã©ã¡ãŒã¿ãŒãæž¡ãããšãã§ããŸãã
JMeterå€æ°ã䜿çšããŠãCSVãã¡ã€ã«ãããã©ã¡ãŒã¿ãŒãèªã¿åãããšãã§ããŸãã ããããå®éã«ã¯ãããããã¡ã€ã«ãèšè¿°ããŠã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ãèµ·åããæ¹ã䟿å©ã§ããããšã瀺ãããŠããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³èªäœã§ã¯ãªãã
OS Process Samplerããããããã¡ã€ã«ãåŒã³åºããŸãã
ã¹ã¯ãªããããã¹ãã«çµæãè¿ãå¿
èŠãããå Žåã ãã®çµæã®ã³ã³ãœãŒã«ãžã®åºåãæååãšããŠå®è£
ãããšäŸ¿å©ã§ãã
JMeteråŽã§ã¯ãå¿çãã©ã¡ãŒã¿ãŒãåŠçãããã¹ãããã»ããµãå®è£
ããŸãã
æ¢è£œã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšãããæåããã³ãšã©ãŒã«å¯ŸããŠç¹å®ã®å¿çã³ãŒããè¿ãããªãå Žåã 次ã«ã
OS Process Samplerã®æäœã¹ããŒã¿ã¹ãèšå®ããããã«æäœéå¿
èŠãªãã¹ãããã»ããµãå¿
èŠã§ã-ã¢ããªã±ãŒã·ã§ã³ãæ£åžžã«å®äºãããã©ããã
wgetãèµ·åãããã¹ãããã»ããµã«ãã£ãŠãã®äœæ¥çµæãåŠçããäŸwgetã䜿çšããŠé床å¶éãèšå®ããã倧ããªãã¡ã€ã«ãããŠã³ããŒãããããã®
ããããã¡ã€ã«
wget-download.gzip.bat ã ããããã¡ã€ã«ã¯ã1ã€ã®ãã©ã¡ãŒã¿ãŒãå
¥åãšããŠåãåããŸã-ããŠã³ããŒããããã¡ã€ã«ã®ã¢ãã¬ã¹ããã©ã¡ãŒã¿ãŒå€ã¯
OS Process Samplerãã転éãããŸãã ããã¹ã
wget-download.gzip.bat ïŒ
@title %~nx0 @setlocal @cd /d %~dp0 @rem 100 MBit/sec @rem --progress=dot:default ( 1 KByte per line) @rem --progress=dot:binary (384 KByte per line) @rem --progress=dot:mega ( 3 MByte per line) %~dp0wget/bin/wget.exe -S --limit-rate=20m --progress=dot:mega ^ --header "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0" ^ --header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ^ --header "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3" ^ --header "Accept-Encoding: gzip, deflate" ^ --output-document=- %1 1>NUL
JSR223 PostProcessorã¯ã
Groovyã¹ã¯ãªããã䜿çšããŠ
wgetã«ãã£ãŠã³ã³ãœãŒã«ã«è¡šç€ºãããå¿çã解æãã
OS Process Samplerã®é©åãªãã£ãŒã«ãã«å
¥åããŠãå¿çãåæããããã«
JMeterãã°ã§ãã¹ãŠã®å¿
èŠãªããŒã¿ãåæããŸãã
Groovyã䜿çšããããšã¯éèŠã§ã
ãGroovyã¯ä»ã®ãã®ãããã³ã³ãã€ã«ãšå®è¡ãéãããã
JMeterã®èšäº
ïŒ greatvovanã® BeanShell Samplerã
å¿ããŠãã ãã ã ãã³ãã©ãŒããã¹ãïŒ
ã©ã€ãã©ãªãšJSR223ãµã³ãã©ãŒ

ã¢ããªã±ãŒã·ã§ã³ã¯æ£åžžã«åäœããŸããã ããã§ããããå°ãªããªãœãŒã¹ãè²»ãããã-ããã»ã¹ã§ã¯ãªãã¹ã¬ãããäœæããããã«ãããã€ãã®ããŒãã¹ããŒã·ã§ã³ãšã®ã¬ãã€ãã®RAMããªãå ŽåããããŸãã
JMeterå€æ°ãå
¥åãšããŠåãå
¥ãããã§ãã ãŸããå Žåã«ãã£ãŠã¯ãã¹ã¯ãªãããäœæãããšãã«ãstdinã¢ããªã±ãŒã·ã§ã³ã«æ¬äŒŒã³ãŒããéä¿¡ããã®ã§ã¯ãªããæè»æ§ãé«ããããšæã£ãŠããŸãã
TestClient client = new TestClient(); String certificateCommonName = vars.get("certificateCommonName"); //" " String documentPath1 = vars.get("documentPath1"); //".\data\Document1.txt" String documentPath2= vars.get("documentPath2"); //".\data\Document2.jpg" client.authByCertificate(certificateCommonName); client.getInboxDocuments(); client.getContagentList(); client.sendDocument(documentPath1); client.sendDocument(documentPath2); client.exit();
ãã®å Žåããµã€ã¯ã«ã䜿çšããäžéšã®ã¡ãœããã®çµæãä»ã®ã¡ãœããã®å
¥åã«è»¢éããJMeterãšã¢ããªã±ãŒã·ã§ã³éçºç°å¢ãåãæ¿ããããšãªããèå³æ·±ãããžãã¯ã䜿çšããŸãã
ãŸãã¯ãä»®æ³ãŠãŒã¶ãŒããšã«1åã ãèªèšŒããã³ãã°ã¢ãŠãããŸãã ãŸãã
JMeterããã®1ã€ã®ãªã¯ãšã¹ãã®ãã¬ãŒã ã¯ãŒã¯å
ã§ãè¿œå ã®ã¿ã€ã ã©ã°ãªãã§ããã¹ãäžã®ã·ã¹ãã ã«å¯ŸããŠ1ã€ã®ãªã¯ãšã¹ãã®ã¿ãå®è¡ããŸãã
ãã®ãããªæ¹æ³ããããŸã
-JSR223 Samplerã䜿çšããŸãã
ããããã©ã€ãã©ãªã¡ãœãããåŒã³åºãã®ã䟿å©ã§ãã
JSR223ãµã³ãã©ãŒã«ã¯ãå€ãã®äŸ¿å©ãªæ©èœããããŸãã
ã©ã€ãã©ãªã®3ã€ã®
JSR223ãµã³ãã©ãŒåæåãã¯ã©ã€ã¢ã³ãã®äœæãã·ã¹ãã ãžã®æ¥ç¶ã«åå²ã§ããŸãã ãããŠãåäžã¹ã¬ããïŒä»®æ³ãŠãŒã¶ãŒJMeterïŒã®ãã¬ãŒã ã¯ãŒã¯å
ã§ãæäœãæ£åžžã«å®äºããåã¹ãããã®æéã枬å®ã§ããããã«ãªããŸãã
ãã¹ã察象ã·ã¹ãã ãžã®ã¯ã©ã€ã¢ã³ãã®åæåïŒ.niã®ã©ã€ãã©ãªãjni4netã䜿çšããŠããŒãïŒã ãã¹ãã®ããã«ã©ã€ãã©ãªãäžåºŠããŒãããã ãã§ååã§ãïŒ
import net.sf.jni4net.Bridge; import java.net.URL; Bridge.init(); Bridge.setDebug(false); Bridge.setVerbose(false); java.io.File clientDllFile = new java.io.File("TestClient.j4n.dll"); Bridge.LoadAndRegisterAssemblyFrom(clientFile);
åå¥ã«ãã¹ã¬ããããšã«ããã¹ã察象ã·ã¹ãã ã®ã¯ã©ã€ã¢ã³ãã€ã³ã¹ã¿ã³ã¹ãäœæãããŸãã
import testClient.Client; // Client client = new Client(); // "testClient" JMeter vars.putObject("testClient", client); // // client String responseData = client;
ãããŠããã®ã¯ã©ã€ã¢ã³ãã®ã¡ãœãããããšãã°authByCertificateãåŒã³åºãããšãã§ããŸãã
import testClient.Client; // , Client client = vars.getObject("testClient"); // String certificateCommonName = vars.get("certificateCommonName"); //" " // client.authByCertificate(certificateCommonName);
jni4netã䜿çšãããšã.NETã©ã€ãã©ãªã¡ãœãããåŒã³åºãããšãã§ããŸãã
jniã ãã䜿çšããŠãWin32ã©ã€ãã©ãªã¡ãœãããåŒã³åºãããšãã§ããŸãã ã©ã€ãã©ãªããã§ã«Javaã§èšè¿°ãããŠããå Žåãè¿œå ã®ã¬ã€ã€ãŒã¯å¿
èŠãããŸããã ãã¡ããããã®æ¹æ³ã§PythonãPHPãbashã®ã³ãŒããåŒã³åºãããšã¯ã§ããŸããããããã¯å¿
ãããå¿
èŠã§ã¯ãããŸããã
JSR223ãµã³ãã©ãŒã§äœ¿çšããã
Groovyèšèªã䜿çšãããšãã³ã³ãã€ã«æžã¿ã®é«éã¹ã¯ãªãããäœæã§ããŸãã
ãŸãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãã·ã³ãã«ãªã¢ããªã±ãŒã·ã§ã³ã䜿çšããå Žåã®ããã«ã倧éã®ãã°ãåŠçããå¿
èŠã¯ãããŸããã äžéã³ã³ããŒãã³ãã®äœ¿çšã«ããã¿ã€ã ã©ã°ã¯ãããŸããã
ãªãœãŒã¹æ¶è²»ãæå°éã«æããããŸãã Groovyã§ã³ãŒããæžãããšãã§ããã°ãããJavaã«éåžžã«äŒŒãŠããŸãã
JMeterãã©ã°ã€ã³
ã³ãŒããæžãæ°ããªããªã ãŸããè² è·ãé©çšããå Žåãäœåãã®ã¡ãœãããå®è¡ããå¿
èŠã¯ãããŸããããåãã¿ã€ãã®æäœãäœçŸãã®ãã©ã¡ãŒã¿ãŒå€ã§å®è¡ããå¿
èŠããããŸãã JMeterçšã®ãã©ã°ã€ã³ãéçºãããšäŸ¿å©ã§ãã ã©ã€ãã©ãªã«äŒŒãŠããŸãããã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãåããŠããŸãã
JMeterã®ãã©ã°ã€ã³åäžã®ãã°ããããŸãã ã¿ã€ã ã©ã°ã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ãåãæ¿ããããšãªããã©ã¡ãŒã¿ãŒãèšå®ããããšãå¯èœã§ãã
ãã©ã°ã€ã³ã®éçºã¯ããã»ã©é£ãããããŸããã ã·ã³ãã«ãªãã©ã°ã€ã³ãéçºããæ¢åã®ãã©ã°ã€ã³ã®æ©èœãæ¡åŒµããããããçµã¿åãããŸãã ãŸããæ¢åã®ãã®ã¯ãããžã§ã¯ããªããžããªã«ãããŸãã
ãããã¬ã䜿çšããŠæ°æ¥éã¯ããã©ã°ã€ã³ã®éçºæ¹æ³ãç解ããŸãã
ããšãã°ãTailSamplerãã©ã°ã€ã³ïŒèšäº
TailSampler-Apache.JMeterã§ã®GETãªã¯ãšã¹ãã®äžŠåéä¿¡ãåç
§ïŒã¯ãã³ã³ããŒãã³ãã®çµã¿åããã§ãïŒ
ãŸããå
ã®ã³ãŒãã¯æ°çŸè¡ããå«ãŸããŠããŸããã
åçšãã©ã°ã€ã³
ãããšã¯å¥ã«ãåçšãã©ã°ã€ã³ãŸãã¯ãã©ã€ããŒããã©ã°ã€ã³ã®éçºãšå
¥æã®ãããã¯ããããŸãã ã³ãŒãã¯åžžã«æžãããŠããå¿
èŠã¯ãªãã賌å
¥ãäŸé Œãç°¡åãªå ŽåããããŸãã
JMeteréçºè
ã¯ã¢ããªã³ãäœæããŸãã ãã¹ãããã³éçºäŒç€Ÿã«ã¯ãããŸããŸãªããŒã«çšã®å€æ°ã®ãã©ã°ã€ã³ããããŸãã
JMeter
philmdotã®éçºè
ã®1人ã¯ããµã€ãubikloadpack.comã§ããããªãGWTãJava SerializationãFLEXãæäœããããã®ãã©ã°ã€ã³ã®4ã€ã®ãã©ã°ã€ã³ã販売ããŠããŸãã
Performance Labã®ååã¯ã
Citrix ãActiveMQãDocumentum WebTopãšé£æºããŠããŸããŸãªãµãŒãã¹ãšãããã³ã«çšã®ãã©ã°ã€ã³ãäœæããŸããã ãããŸã§ã®
githubã§ã¯ãã»ãã®å°ãã®ã³ãŒããã¬ã€ã¢ãŠããããã ãã§ãå§ãŸã£ãã°ããã§ãã
確ãã«ãè² è·ãã¹ããããžã§ã¯ããå®æœããŠããä»ã®äŒæ¥ã«ããæ¢æã®å®çžŸã®ãããã©ã°ã€ã³ããããŸãã 誰ã«é£çµ¡ããããããã¯èšããŸããã ããããäŸãšããŠãç§ã¯ãããããŸããïŒ
- æ€çŽ¢ãšã³ãžã³ã«ãTender Load Testingããšãããã¬ãŒãºãå
¥åããŸããã
- Sberbankã®å
¥æãžã®ãªã³ã¯ãèŠã€ããŸããã
- åå ããäŒæ¥ã®ãªã¹ããèŠãŠã¿ãŸããïŒããã©ãŒãã³ã¹ã©ããé«åºŠãªå€æã³ã³ãµã«ãã£ã³ã°ãAi-TecoãAplanaãEPAM Systemsãªã©ã
ç¹å®ã®ã·ã¹ãã ãŸãã¯æè¡ã®ãã¹ãã®ããã«åå ãŸãã¯å
¥æããäŒæ¥ã®ããããã«é£çµ¡ãããšããã®ãããªã·ã¹ãã ãŸãã¯ãããã³ã«çšã®æ¢è£œã®ãã©ã°ã€ã³ããŠãŒãã£ãªãã£ããšãã¥ã¬ãŒã¿ãæäŸããããšæããŸãã ãããŠããããããããŠã³ããŒãã賌å
¥ãå°ããããšãã§ããŸãã
ç¡æã©ã€ã»ã³ã¹ãã©ã°ã€ã³
Githubã§ã¯ãæ°çŸã®ãã©ã°ã€ã³ãæ€çŽ¢ã§ããŸãã
RabbitMQ ã
Cassandra ã
WebSocket ã
Ajax ã...ããŸããŸãªãã¯ãããžãŒããããã³ã«ãã¢ãããŒãã¯ãã§ã«
JMeterãã©ã°ã€ã³ã§èšåãããŠããŸãã
ãã·ã¢èªã®èª¬æããã
2ã€ã®ãããžã§ã¯ãã§ããJMeter pluginããšãããã¬ãŒãºãæ€çŽ¢ããŸãã
ãã¬ãŒãºãJMeter pluginãã®æ€çŽ¢çµæ
168件 ã
ãããŠããJMeterããšãããã¬ãŒãºãæ€çŽ¢ããéã®
äœçŸãã®ãããžã§ã¯ãã
衚瀺ãããŠã³ããŒããã¢ã»ã³ãã«ããã¹ããäœæè
ããã®ã©ã€ã»ã³ã¹ã®æ€çŽ¢ããããæå®ãããŠããªãå Žåã¯ããã䜿çšããŠäœ¿çšããã®ãé¢åã§ã¯ãªãããšãå¿
èŠã§ãã
ãããã«
æ ç»ãã¬ã€ã¯ããŠã¹ãããæ®åœ±ã éä¿¡æ¹æ³ïŒwww.movpins.comïŒãžã ã¯ãç¹å¥ãªã¢ãããŒããšç§å¯ã®éãå¿
èŠãªå Žåãå¥ã®èšèªã話ãå Žåã§ããã·ã¹ãã ãšå¯Ÿè©±ããæ¹æ³ãèŠã€ããããšãã§ããŸãã
æ®éçãªæ¹æ³ã¯ãããŸããã ããç¶æ³ã§ã¯ããã©ã°ã€ã³ãæžãæ¹ã䟿å©ã§ãã å¥ã®æ¹æ³ã§ã¯ãã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŸãã
Groovyäžã®ã©ã€ãã©ãªãšã¹ã¯ãªãããæã
ãããŸãã ãããŠãæã
ãç§ã¯èªåã®ãŠã§ããµãŒããŒãäžãããã§ãã
ãã¹ãŠãå¯èœã§ããããªãã¯ãã ä¿¡ããå¿
èŠããããŸãã
JMeterã§èŠã€ãã£ãå¶éãšãã®å¯ŸåŠæ¹æ³ã«ã€ããŠæããŠãã ããã
æŽæ°ãã 圌ã¯åçšããã³ãµãŒãããŒãã£ã®ç¡æãã©ã°ã€ã³ã®ãããã¯ã«è§ŠããŸããã ç¹å®ã®ãããžã§ã¯ããžã®èšåã¯åŒçšããŸããã§ããã æšæºããã±ãŒãžã«å«ãŸããŠããªããã©ã°ã€ã³ã®äœ¿çšçµéšãããå Žåã¯ãã³ã¡ã³ãã«æžããŠãã ããã