倧èŠæš¡ãªWEBã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåãé
ããæ©ãããè² è·ãã¹ããå®æœãããšããçåãçããŸãã ç§ãã¡ã®ãããžã§ã¯ãã§ãåæ§ã®è³ªåããããŸããã ãã®èšäºããåŠç¿ã§ãããšå€æããæ¹æ³ã«ã€ããŠã
å®éãç§ãã¡ã¯äœãããŸãã
ã¿ã¹ã¯ã¯æ¬¡ã®ããã«èšå®ãããŸããã
ã¢ããªã±ãŒã·ã§ã³ã¯ãå°ãªããšã1,500人ã®åæãŠãŒã¶ãŒã®è² è·ã«èããããšãå¿
èŠã§ãããããã®ãŠãŒã¶ãŒã¯ã次ã®ã·ããªãªã«åŸã£ãŠåäœããŸãã
1.ã¢ããªã±ãŒã·ã§ã³ããŒãžãéããŸã
2.ã·ã¹ãã ã«ãã°ã€ã³ããŸã
3.ããŒã¿ããŒã¹ããã¬ã³ãŒãã®å€§ããªãªã¹ããã¢ã³ããŒããã
4.ãã°ã¢ãŠã
俳åª
IBM WebSphere Application Server 7ã«ãããã€ããã
ã¢ããªã±ãŒã·ã§ã³ããŒãããŒã«ãšããŠ
Apache JMeter 2.7ãéžæãããŸãã
Java VisualVMã䜿çšããŠãã¹ãçµæã確èªã
ãŸããã¹ãŠãæ©èœãããæ¹æ³ã¯ïŒ
ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®æ§æ
æåã«ãã¢ããªã±ãŒã·ã§ã³ã
Application ServerïŒä»¥éWASïŒã«ãããã€ããŸã
ã1.ãã©ãŠã¶ã®ã¢ãã¬ã¹ããŒã«ãhttpsïŒ//ïŒ
hostnameïŒ
ïŒ9043 / ibm / console / logon.jspããšå
¥åããŸã
2. WAS管çè
ã®ãã°ã€ã³ãšãã¹ã¯ãŒãã䜿çšããŠãAdminConsoleèªäœã«å
¥ããŸãã
3.
[ã¢ããªã±ãŒã·ã§ã³]-> [ã¢ããªã±ãŒã·ã§ã³ã¿ã€ã]-> [WebSphereãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³]ã«ç§»åããŠãããŒãžã«ç§»åããŸãã
ãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³ãã®ããŒãžã䜿çšããŠãã€ã³ã¹ããŒã«æžã¿ã®ã¢ããªã±ãŒã·ã§ã³ã管çããŸãã åäžã®ã¢ããªã±ãŒã·ã§ã³ãè€æ°ã®ãµãŒããŒã«å±éã§ããŸãã
ïŒå€§äºãªã€ã³ã¹ããŒã«ãã¿ã³ã䜿çšããŠïŒã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããšãã³ã³ãœãŒã«ã¯æ¬¡ã®ããã«ãªããŸãã
èµ€ãé·æ¹åœ¢ã¯ããããžã§ã¯ãã®ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã瀺ããŠããŸãã æ®ãã¯è£å©ã¢ãžã¥ãŒã«ã§ãã
ãããïŒ ããã«å¯ŸåŠããŸããã 次ã«ãJava VisualVMã§åäœããããã«WASãæ§æããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãåãAdminConsoleã§æ¬¡ã®æé ãå®è¡ããå¿
èŠããããŸãã
1.
ãµãŒããŒ->ãµãŒããŒã¿ã€ã-> WebSphereã¢ããªã±ãŒã·ã§ã³ãµãŒããŒ-> server1-> Javaããã³ããã»ã¹ç®¡ç->ããã»ã¹å®çŸ©-> Javaä»®æ³ãã·ã³éžæããŠãã ããïŒ
æãããã°ã¢ãŒã[false]
ãããã°åŒæ°-Xdebug -XrunjdwpïŒtransport = dt_socketãaddress = 52772ãsuspend = nãserver = yã-Dwas.debug.mode = false
æ±çšJVMåŒæ°-Dclient.encoding.override = UTF-8 -Dfile.encoding = UTF-8 -Djavax.management.builder.initial = -Djava.rmi.server.hostname =ïŒ
hostnameïŒ
-Dcom.sun.management.jmxremote -Dcomã sun.management.jmxremote.port = 8686 -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = false
*åŒæ°-Djava.rmi.server.hostname =ã§ã¯ãïŒ
hostnameïŒ
ã®ä»£ããã«ãWASãã€ã³ã¹ããŒã«ãããŠãããã¹ãåãæå®ããå¿
èŠããããŸãã ïŒ
èšå·ã¯èšå®ãããŠããŸããã
Java VisualVMã®æ§æ
åŒæ°ãèšå®ããWASãµãŒãã¹ã匷å¶çã«åèµ·åããåŸã
Java VisualVMèªäœãæ§æããå¿
èŠããããŸã
1. Sun JDK 6u7以éã䜿çšããŠããå Žåã¯ããã§ã«VisualVMã䜿çšããŠããŸãã Sun JDK 7ã®ææ°ããŒãžã§ã³ã䜿çšããããšããå§ãããŸããJavaVisualVMã¯$ JAVA_HOME \ jdk1.7.0 \ bin \ jvisualvmãã£ã¬ã¯ããªã«ãããŸãã
ãŸããJava VisualVMã¯
åå¥ã«ããŠã³ããŒãã§ããŸãã
2. Java VisualVMãèµ·åããŸãã VisualVMã¯æåã®èµ·åæã«ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããèŠæ±ããå ŽåããããŸãããæåŠããªãã§ãã ããã
3. Java VisualVMã®äžè¬çãªãã¥ãŒ
ã芧ã®ãšãããVisualVMèªäœãå«ãããã€ãã®ã¢ããªã±ãŒã·ã§ã³ãããŒã«ã«ã§å®çŸ©ãããŠããŸãã
4.ã䜿çšå¯èœãªãã©ã°ã€ã³ãã¿ãã®ãããŒã«->ãã©ã°ã€ã³ãã¡ãã¥ãŒã§ã䜿çšå¯èœãªãã©ã°ã€ã³ã衚瀺ãããŸããå¿
èŠã«å¿ããŠãå¿
èŠãªãã©ã°ã€ã³ãéžæããŠã€ã³ã¹ããŒã«ããŸãã ç§ãã¡ã®ç®çã®ããã«ã¯ããããã¯å¿
èŠãããŸãããããããã«ã€ããŠç¥ã䟡å€ã¯ãããŸãã
5.åã®èšå®ãå®è¡ããããªã¢ãŒããã¹ããè¿œå ããŸãã
6. JMXæ¥ç¶ãè¿œå ããŸãã ãã¹ãåã®åŸã«å¿
ãããŒã8686ãæå®ããŠã[OK]ãã¯ãªãã¯ããŠãã ããã
7.ãªã¢ãŒããã¹ãã«æ¥ç¶ããåŸã[JMXæ¥ç¶ãéã]ãéžæãããšãç®çã®ããã»ã¹ã®æŠèŠã衚瀺ãããŸãã
ããã§ã¯ã[ãµã³ãã©ãŒ]ã¿ãïŒå¥åãããã¡ã€ã©ãŒïŒã«æ³šç®ããŸãã ãããã¡ã€ã©ãŒã«ã¯ãCPUãšã¡ã¢ãªã®2ã€ã®ã¢ãŒãããããŸãã ãããã«è²»ããããæéã®èŠ³ç¹ããæåã®ãããã¡ã€ã«ã¡ãœããã2çªç®-äœæããã³ç Žå£ããããªããžã§ã¯ãã®èŠ³ç¹ããã æ®å¿µãªãããã¡ã¢ãªãµã³ããªã³ã°ã¯ãªã¢ãŒãã¢ããªã±ãŒã·ã§ã³ã§ã¯ãµããŒããããŠããŸããã
ãã詳现ãªãã¥ãŒã衚瀺ããã«ã¯ãç®çã®ã¡ãœãããéžæããã¹ãããã·ã§ãããã¿ã³ãã¯ãªãã¯ããŸããããã«ããããããªãåæã«äœ¿çšãããã¡ãœããïŒã¯ã©ã¹/ããã±ãŒãžïŒã®ããªãŒãåŒã³åºãããŸãã
éèŠïŒ
ãã®ããã©ãŒãã³ã¹ãããã¡ã€ã©ã
æ段ã§ãããšããäºå®ã«æ³šæãæã䟡å€ããã
ãŸã ã ã€ãŸããã¢ããªã±ãŒã·ã§ã³ã³ãŒããæžãæãããããã¡ã€ã©ãŒãžã®åŒã³åºããè¿œå ããŸãã
ããŒãªã³ã°ãããã¡ã€ã©ãŒã«ã¯ããªã倧ããªãªãŒããŒãããããããŸãããæãæ£ç¢ºãªçµæãåŸãããŸãã ãã®ãããªãããã¡ã€ã©ãŒã®åäœã¯ãã¢ããªã±ãŒã·ã§ã³ã®åäœã倧ããæªããå¯èœæ§ããããŸãããçè«äžã®ãªãŒããŒãããã¯ãã¹ãŠã®ã¡ãœããã«åçã«åæ£ãããŸãã
JMeterã§ãããžã§ã¯ããäœæãã
JMeter onHabréã§ãããžã§ã¯ããäœæããæ¹æ³ã¯ãã§ã«è€æ°åæžãããŠããŸããããã«ãããã¥ã¢ã«ããã£ã³ã»ã«ãã人ã¯ããªãããããã®èšäºã®ãã®éšåã§ã¯ãééãããããã®ãã¥ã¢ã³ã¹ã«ã€ããŠã®ã¿èª¬æããŸãã
ããŒã«ã«ãã¹ã
ãã°ããã
ããã¥ã¢ã«ã«ããããã«ãJMeterã§äœæ¥ããã«ã¯ã次ã®ããã«JMeter HTTPãããã·ã䜿çšããããã«ãã©ãŠã¶ãèšå®ããå¿
èŠããããŸãã
ãããããã·ã¢ã§åããŠããŠãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãããããããããã¹ã¯ã®CRã«ãããã€ãããŠããå Žåã¯ã©ãããã°ããã§ããããããŸããäŒæ¥ã®ITã»ãã¥ãªãã£ããªã·ãŒã¯ãå¿
èŠãªãããã·ã䜿çšããªããã¹ãŠã®æ¥ç¶ããããã¯ããŸãã ãŸããäŒæ¥ã®ãããã·ãä»ããŠäœæ¥ããŠããå Žåãé²é³ã³ã³ãããŒã©ãŒã§ã®é²é³ãè¡ãããªãããšãããããŸããã
ç§ãã¡ã®å Žåã次ã®ãè³ãåŸãããã圹ç«ã¡ãŸããã
圌ãã¯äŒæ¥ã®ãããã·ãä»ããŠã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ãããã©ãŠã¶ã®èšå®ã§èšå®ãlocalhostã«å€æŽããããŒãžããªããŒãããŠïŒèŠãïŒïŒlocalhostãä»ããŠãªã¢ãŒããã¹ãã§äœæ¥ããŸããã ããã«ããã¯ã€ã«ããããã¯ãã®ããŒã¹ã§ã¹ã¯ãªãããèšé²ããã®ã«5ã7åããããŸããããã®åŸãèªåæ§æã¹ã¯ãªããããããã·èšå®ã以åã®èšå®ã«å€æŽããŸããã
ç§ãã¡ã®ååã¯ã¬ã®ãªã³ã§ãïŒ
ãŠãŒã¶ãŒãäœæããJMeterã«ãã£ãŒãããŸãã
ç°¡åãªã¹ã¯ãªãããäœæãããäžæã®ãã°ã€ã³TEST1-TEST1500ãæã€1,500ãšã³ããªãtUsersããŒãã«ã«è¿œå ãããŸããã 誰ãã1ã€ã®ãã¹ã¯ãŒããæã£ãŠããŸãïŒ123456
次ã«ãCSV Data Set ConfigèŠçŽ ãJMeterã«è¿œå ãããŸããã
èšé²ããããªã¯ãšã¹ãã®ããªãŒã§ãã·ã¹ãã ãžã®ãã°ã€ã³ãæ
åœããèŠçŽ ãèŠã€ããããšãã§ããŸãã 次ã®æå³ãæã€... / userLogin.webããããŸããã
LoginService | login | java.lang.String / 2004016611 | TEST1 | 1 | 2 | 3 | 4 | 1 | 5 | 6 |
ããã«ãŠãŒã¶ãŒåãšãã¹ã¯ãŒãã衚瀺ãããŸãã JMeterããã¹ã¯ãŒã123456ã1 | 2 | 3 | 4 | 1 | 5 | 6 |ãšããŠæžãçããçç± ç§ã«ãšã£ãŠã¯è¬ã®ãŸãŸã§ãã
ä»ãç§ãã¡ã®ã¿ã¹ã¯ã¯æ¬¡ã®ãšããã§ãã
1. * .csvãã¡ã€ã«ãäœæãããã©ãŒã ã®1500ã¬ã³ãŒããããã«é
眮ããŸã
LoginService | login | java.lang.String / 2004016611 | TEST1 | 1 | 2 | 3 | 4 | 1 | 5 | 6 |
ã
ã
ã
LoginService | login | java.lang.String / 2004016611 | TEST1500 | 1 | 2 | 3 | 4 | 1 | 5 | 6 |
2.ãã®ãã¡ã€ã«ããããžã§ã¯ããšåããã£ã¬ã¯ããªã«é
眮ããŸã
3.ãã®ãã¡ã€ã«ããããããååŸããå¿
èŠãããããšãJMeterã«ç€ºããŸã
æåã®æ®µéã§å°ããªå°é£ãçããŸããã
ã»ã«A1ããã³A2ã«ã³ããŒãã
LoginService | login | java.lang.String / 2004016611 | TEST1
LoginService | login | java.lang.String / 2004016611 | TEST2
Excelã§A1500ã«ã¹ãã¬ãã
LoginService | login | java.lang.String / 2004016611 | TEST1500
åé¡ãããŸããã ãŸãããã¹ãŠãåçŽã§ãæ®ãã®éšå1 | 2 | 3 | 4 | 1 | 5 | 6 |ã䜿çšããŠãã»ã«B1ãB1500ãå€æŽããã«1,500åã³ããŒããŸããã ããããããããã¹ãŠãããã¹ããã¡ã€ã«ã«è»¢éããåŸã¯ãããŸãçŸãããããŸããã§ããã
LoginService | login | java.lang.String / 2004016611 | TEST1 | 1 | 2 | 3 | 4 | 1 | 5 | 6 |
äœåãªã¹ããŒã¹ããŸã£ãã圹ã«ç«ããªãããšã¯æããã§ãã ããããããã§ããããåé€ããæ¹æ³ã¯ãããŸããïŒ ãã³ã䜿çšããŠ1500ã¬ã³ãŒããç·šéããæ¹æ³ã¯ãããŸããã Notepad ++ã§ãã¡ã€ã«ãéããåŸãReplaceã䜿çšããŠãããã®ã¹ããŒã¹ãåé€ããããšããŸããããæ®å¿µãªãã10ãŸãã¯10ã®ã¹ããŒã¹ããã£ãŠãåé¡ãããŸããããããã¯è¡šç€ºããããæåã®ã¿ã眮æã§ããŸãã
ããã§ãç§ãã¡ã¯EmEditorãæå©ããŸããã 圌ã¯ãããå·éã«ããŠããŸãïŒ
ãã®äºä»¶ã®åŸãEmEditorã¯ç§ã®ç®ã«å€§ããæé·ããŸããã å®è·µã§ç€ºããããã«ããã®ããã¹ããšãã£ã¿ãŒã¯ãä»ã®å Žåãããšãã°ãæ¢ã«å±éãããŠããã¢ããªã±ãŒã·ã§ã³ã®* .xmlãã¡ã€ã«ãå€æŽããå¿
èŠãããå Žåã«åœ¹ç«ã¡ãŸãã åãã¡ã¢åž³ãŸãã¯ã¡ã¢åž³++ããã®ã¿ã¹ã¯ã®åã«æž¡ãããã¢ã¯ã»ã¹æåŠã宣èªãããŸãããEmEditorã¯æž¡ãããŸããã
æºåãããããã¹ããã¡ã€ã«ã®ååã1500.csvã«å€æŽãããããžã§ã¯ããšå
±ã«1ã€ã®ãã©ã«ããŒã«å
¥ããŸãã
JMeterã«ããããã¹ãŠäœ¿çšããæ¹æ³ã説æããããšãæ®ã£ãŠããŸãã
ãããè¡ãã«ã¯ãCSV Data Set Configã§ãã¡ã€ã«ãæå®ããå€æ°åãèšå®ããŸã
ãããŠ... / userLogin.webã§ã¯ããã®å€æ°ã$ {VariableName}ã®åœ¢åŒã§æå®ããŸã
æãå¢ãã
apache-jmeter-2.7 \ binãã£ã¬ã¯ããªã«jmeter.batãã¡ã€ã«ãããããæ°ã«å
¥ãã®ããã¹ããšãã£ã¿ãŒã§éããŸãã
ããã«äžéšãèŠã€ãããŸã
ãããŠå¿«é©ãªä»äºã®ããã«ç§ãã¡ã¯äº€æããŸã
HEAP = -Xms512m -Xmx512mãèšå®ããŸã
ã«
HEAP = -Xms1024m -Xmx1024mãèšå®ããŸã
ããã¯ãjmeterèµ·åã¬ã€ãïŒ2.4 JMeterã®å®è¡ïŒã«ãèšèŒãããŠããŸãã
æåŸã®ä»äžã
ããã§ãã¹ã¯ãªãããå®è¡ããæºåãã»ãŒãã¹ãŠæŽããŸããã RDPçµç±ã§ãªã¢ãŒããã¹ãã«æ¥ç¶ãããã¹ãŠãæ£åžžã§ããããšã確èªããã ãã§ãïŒãã¹ãã®åã«ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®èšå®ãåé€ããŸãïŒã
ã芧ã®ãšããããã¹ãŠãçã«ããªã£ãŠããŸãã ãŸããjava.exeããã»ã¹ã䜿çšããã¡ã¢ãªéãã€ãŸãWASã調ã¹ãŸãã
ãã¹ããããªãã®æéã§ã
ãã¹ããå®è¡ãã1,500人ã®ä»®æ³ãŠãŒã¶ãŒãææ
¢åŒ·ãã¢ããªã±ãŒã·ã§ã³ã«åãã§çªå
¥ããæ§åã確èªããŸãã ãããŸã§ã®éãåã³ãªã¢ãŒãããŒãã«ã«åãæ¿ããŠãããã§äœãèµ·ãããã確èªããŸãã
ãã¹ãå
šäœã§ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®CPUã100ïŒ
å æãããŠããŸãããããŸã£ããè¯ããããŸããã ããã«èœã¡ãŸãã
VisualVMãèŠããšããã®åçã¯ããŸã楜ãããããŸããã
ãµã³ãã©ãŒãéããCPUãäœãããŒããããã確èªããŸãã
SystemErrorã®çäœãã°ã確èªããŸãã
R log4jïŒèŠå209ããã³å14ã®é£ç¶è§£æãšã©ãŒ
R log4jïŒèŠåãloggerãã¿ã€ãã®èŠçŽ ã®ã³ã³ãã³ãã¯ããïŒparam *ãlevel ?, Appender-ref *ïŒããšäžèŽããå¿
èŠããããŸãã
R log4jïŒèŠåãã¬ãŒïŒorg.springframework.web.context.support.XmlWebApplicationContextïŒã®ã¢ãã³ããŒãèŠã€ãããŸããã§ããã
R log4jïŒèŠålog4jã·ã¹ãã ãé©åã«åæåããŠãã ããã
R log4jïŒèŠå詳现ã«ã€ããŠã¯ã
logging.apache.org / log4j / 1.2 /
faq.htmlïŒnoconfigãåç
§ããŠãã ããã
...ãããŠã誰ã責任ãè² ãã¹ãããç解ããŠããŸãã
ä»®å®ã確èªããŸãã
ãããè¡ãã«ã¯ãïŒ
WAS_HOMEïŒ
\ AppServer \ profiles \ AppSrv01 \ installedApps \ïŒ
HostNameïŒ
Node01Cell \ app.ear \ app.war \ WEB-INF \ã«ãããã€ãããã¢ããªã±ãŒã·ã§ã³ããããã©ã«ããŒãèŠã€ããŸãã ããã§ãã¡ã€ã«log4j.xmlãèŠã€ãã 'level value = "SOME LEVEL"ãšãã圢åŒã®æ§é ãèŠã€ãã£ãå Žæã§ããã®ã¬ãã«ãå€offã«çœ®ãæããŸãã ãã®åŸãWASãµãŒãã¹ãåèµ·åããŸãã
ãã¹ããå床å®è¡ããŸãã
å®å
šã«ç°ãªãåé¡ïŒ
çµæ
ãã®èšäºã§ã¯ãWEBã¢ããªã±ãŒã·ã§ã³ã®è² è·ãã¹ããå®æœããããã®ç°å¢èšå®ã®å
šãµã€ã¯ã«ãæ€èšããŸããã åé¡ãlog4jã ãã«éãããŠããªãããšã¯æããã§ããããã®åŸãä»ã®å€ãã®æ¹åãè¡ãããŸããããäœæ¥ã®äž»ãªãã€ã³ãã¯æ確ã§ãã
ã質åãããã°ãåãã§ãçãããŸãã ãæž
èŽããããšãããããŸããã