0
jMeter 101     @somkiat-- สยามชํานาญกิจ --
jMeter● เครืองมือช่วยทํา Load test และ  วัดประสิทธิภาพการทํางานของ service ต่างๆ● เน ้นการทดสอบ Web application● Multi-Thr...
ความสามารถอืนๆ ของ jMeter● สามารถทํา Unit testing ของส่วนต่างๆ ได ้   ○   JDBC   ○   FTP   ○   LDAP   ○   Web service   ○ ...
สามารถทําอะไรก ับ jMeter ได้บาง                             ้● ใช ้สําหรับการทดสอบระบบ  ○   Load testing  ○   Performance ...
การทํางานของ jMeter● จําลองกลุมของผู ้ใช ้งานระบบ           ่● ส่ง request ไปยัง server● บันทึกผลการ return จาก server  เพ...
การทํางานของ jMeter                          สร้าง requestเริมต้น                   เพือส่งไปย ัง                       จบ...
เริมต้นการใช้งาน●   Download จาก http://jmeter.apache.org●   Extract file●   Go to folder /bin●   Run jmeter.bat/.sh
ผลการทํางาน
องค์ประกอบของ jMeter●   Test plan●   Thread Group●   Controller●   Sampler●   Listerner●   Timmer●   Assertion●   Configur...
Test Plan● กําหนดลําดับการทํางานของ process ต่างๆ● ประกอบไปด ้วย  ○   Thread Group  ○   Controller  ○   Listener  ○   Time...
Thread Group● จุดเริมต ้นการทํางานของแต่ละ Test Plan● ประกอบไปด ้วย   ○ Controller   ○ Sampler● ข ้อมูลทีต ้องกําหนด   ○ N...
Thread Group
รายละเอียดของ Thread Group
Configuration● ทําการกําหนดค่าเริมต ้นต่างๆ เช่น   ○ HTTP Request Default     ■ กําหนดค่าเริมต ้นของ HTTP Request เช่น url...
HTTP Request Default● เลือก Thread Group● click ขวา● เลือกเมนู  ○ Add -> Config Element -> HTTP Request Default
HTTP Request Default
HTTP Request Default
Sampler● ส่วนการทํางานจริงของ jMeter● สร ้าง Request ต่างๆ เพือให ้ได ้ผลทีต ้องการ● ตัวอย่างเช่น   ○ HTTP Request   ○ FTP...
HTTP Request● กําหนดค่าต่างๆ ของ Request นันๆ  ○ Path  ○ Protocol  ○ Encoding  ○ HTTP Method    ■ GET    ■ POST    ■ HEAD ...
HTTP Request● เลือก Thread Group● click ขวา● เลือกเมนู  ○ Add -> Sampler -> HTTP Request
HTTP Request
HTTP Request
Listener● ทําหน ้าทีบันทึกข ้อมูลของผลการทํางาน เช่น  ข ้อมูลจาก HTTP Request ลง file● แสดงผลการทํางานในรูปแบบ vistualizat...
Graph Result●   แสดงผลการทํางานในรูปแบบ Graph●   จะสร ้าง graph ในรูปแบบง่ายๆ●   สามารถบันทึกลง file ทีต ้องการได ้●   แสด...
Graph Result● เลือก Thread Group● click ขวา● เลือกเมนู  ○ Add -> Listener -> Graph Result
Graph Result
Graph Result
สงให้ทางาน ั    ํ
ผลการทํางานในรูปแบบ Graph Result
ผลการทํางานในรูปแบบ Result in Table
ผลการทํางานในรูปแบบ Aggregate graph
TODO :: Google Test Plan● Step  ○   Create Test Plan  ○   Create Thread Group  ○   Create HTTP Request Default  ○   Create...
TODO :: Search Google Test Plan● Step  ○ Create Test Plan  ○ Create Thread Group  ○ Config Element    ■ HTTP Cookie Manage...
เฉลย● https://github.com/up1/jMeter101/  ○ Google.jmx
การ import ข้อมูลจาก CSV file● เลือก Thread Group● click ขวา● เลือกเมนู  ○ Add -> Config Element -> CSV Data Set Config
การ import ข้อมูลจาก CSV file
การ import ข้อมูลจาก CSV file
การกําหนด parameter ต่างๆ●   File name●   File Encoding●   Variable Names●   Delimiter●   Allow quote data●   Share mode
การ import ข้อมูลจาก CSV file
ต ัวอย่าง CSV filebugday2013bugdefectincident
ต ัวอย่าง CSV fileuser1,password1user2,password2user3,password3user4,password4user5,password5
การอ้างถึง Variable จาก Data Set● ${variable_name}
การอ้างถึง Variable จาก Data Set
TODO :: Search Google + CSV● Step  ○ Create Test Plan  ○ Create Thread Group  ○ Create Data set CSV    ■ keyword.csv  ○ Cr...
TODO :: Login Test Plan● Step  ○ Create Test Plan  ○ Create Thread Group  ○ Create Data set CSV    ■ userprofile.csv  ○ Cr...
เฉลย● https://github.com/up1/jMeter101/  ○ LoadDataFromCSV.jmx  ○ userprofile.csv
Batch process with jMeter ( Non-GUI )        jmeter -n -t <Google.jmx>          -n = Run with Non-GUI mode         -t = กํ...
jMeter Distributed Testing    127.0.0.1     192.168.1.10   192.168.1.11                    jMeter                   Summar...
Step to config (1)● เพิมการ Start RMI Registry ของ server ต่างๆ  ใน file jmeter-server.batเพิม RMI Registry ต่อจาก :setCPS...
Step to config (2)● Start RMI Registry ของ server ต่างๆ ใน file  jmeter-server.bat               jmeter-server
Step to config (3)● เพิม Remote server ใน file jmeter.propertiesremote_hosts=127.0.0.1, 192.168.1.10,192.168.1.11, 192.168...
Step to config (4)● เปิ ดโปรแกรม jMeter ขึนมา เพือดู Remote host
Step to config (5)● Run !!
ผลการทํางาน
ข้อเสีย●   มีความซับซ ้อน●   GUI ค่อนข ้างสับสน●   ยากต่อผู ้เริมต ้นใช ้งาน●   Report ห่วย
ข้อดี● สําหรับคนทีเขียน Code เป็ น   ○ สามารถเขียน plugin เพือขยายความสามารถได ้
ข้อดี● สําหรับคนทีเขียน Code ไม่เป็ น   ○ http://code.google.com/p/jmeter-plugins/
Resources● http://jmeter.apache.  org/usermanual/component_reference.html● http://jmeter.apache.org/usermanual/build-  web...
TODO :: Register Test Plan● Step  ○ Create Test Plan  ○ Create Thread Group  ○ Create Data set CSV    ■ user_register.csv ...
TODO :: Information● Server IP = http://119.59.97.9/● Parameters ( Visible )  ○   Firstname  ○   Lastname  ○   Company  ○ ...
เฉลย● https://github.com/up1/jMeter101/  ○ Agile Singapore 2013.jmx  ○ user_register.csv
Upcoming SlideShare
Loading in...5
×

jMeter101

1,435

Published on

How to using jMeter for Load Testing web application ?

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,435
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
69
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "jMeter101"

  1. 1. jMeter 101 @somkiat-- สยามชํานาญกิจ --
  2. 2. jMeter● เครืองมือช่วยทํา Load test และ วัดประสิทธิภาพการทํางานของ service ต่างๆ● เน ้นการทดสอบ Web application● Multi-Threading● พัฒนาด ้วยภาษา Java● ฟรี● Open source● http://jmeter.apache.org/
  3. 3. ความสามารถอืนๆ ของ jMeter● สามารถทํา Unit testing ของส่วนต่างๆ ได ้ ○ JDBC ○ FTP ○ LDAP ○ Web service ○ JMS ○ Mail => SMTP, POP3, IMAP ○ HTTP, HTTPS ○ TPC
  4. 4. สามารถทําอะไรก ับ jMeter ได้บาง ้● ใช ้สําหรับการทดสอบระบบ ○ Load testing ○ Performance testing ○ Availability testing ○ Functional testing● Monitor ระบบ ○ Database ○ Web server ○ FTP ○ ...
  5. 5. การทํางานของ jMeter● จําลองกลุมของผู ้ใช ้งานระบบ ่● ส่ง request ไปยัง server● บันทึกผลการ return จาก server เพือแสดงประสิทธิภาพการทํางาน● แสดงผลด ้วยภาพ เช่น Graph เป็ นต ้น
  6. 6. การทํางานของ jMeter สร้าง requestเริมต้น เพือส่งไปย ัง จบการทํางาน server jMeter Server แสดงผลการ ทําการรวบรวมข้อมูล ส่งข้อมูลกล ับมา ทํางาน เพือสรุปผลทางสถิต ิ jMeter บ ันทึกข้อมูล
  7. 7. เริมต้นการใช้งาน● Download จาก http://jmeter.apache.org● Extract file● Go to folder /bin● Run jmeter.bat/.sh
  8. 8. ผลการทํางาน
  9. 9. องค์ประกอบของ jMeter● Test plan● Thread Group● Controller● Sampler● Listerner● Timmer● Assertion● Configuration● Pre-processor element● Post-processor element
  10. 10. Test Plan● กําหนดลําดับการทํางานของ process ต่างๆ● ประกอบไปด ้วย ○ Thread Group ○ Controller ○ Listener ○ Timer ○ Assertion ○ Configuration
  11. 11. Thread Group● จุดเริมต ้นการทํางานของแต่ละ Test Plan● ประกอบไปด ้วย ○ Controller ○ Sampler● ข ้อมูลทีต ้องกําหนด ○ Number of thread ○ Ramp-up period ○ Loop count
  12. 12. Thread Group
  13. 13. รายละเอียดของ Thread Group
  14. 14. Configuration● ทําการกําหนดค่าเริมต ้นต่างๆ เช่น ○ HTTP Request Default ■ กําหนดค่าเริมต ้นของ HTTP Request เช่น url ของ server ■ ไม่ได ้ทําหน ้าทีสร ้าง Request ○ CSV Data Set Config ○ HTTP Cache Manager ○ HTTP Cookie Manager ○ HTTP Header Manager ○
  15. 15. HTTP Request Default● เลือก Thread Group● click ขวา● เลือกเมนู ○ Add -> Config Element -> HTTP Request Default
  16. 16. HTTP Request Default
  17. 17. HTTP Request Default
  18. 18. Sampler● ส่วนการทํางานจริงของ jMeter● สร ้าง Request ต่างๆ เพือให ้ได ้ผลทีต ้องการ● ตัวอย่างเช่น ○ HTTP Request ○ FTP Request ○ JDBC Request
  19. 19. HTTP Request● กําหนดค่าต่างๆ ของ Request นันๆ ○ Path ○ Protocol ○ Encoding ○ HTTP Method ■ GET ■ POST ■ HEAD ■ PUT ○ Parameters
  20. 20. HTTP Request● เลือก Thread Group● click ขวา● เลือกเมนู ○ Add -> Sampler -> HTTP Request
  21. 21. HTTP Request
  22. 22. HTTP Request
  23. 23. Listener● ทําหน ้าทีบันทึกข ้อมูลของผลการทํางาน เช่น ข ้อมูลจาก HTTP Request ลง file● แสดงผลการทํางานในรูปแบบ vistualization● ตัวอย่าง ○ Graph Result ○ View Result in Table ○ Summary Report ○ Aggregate Graph ○ Aggregate Report
  24. 24. Graph Result● แสดงผลการทํางานในรูปแบบ Graph● จะสร ้าง graph ในรูปแบบง่ายๆ● สามารถบันทึกลง file ทีต ้องการได ้● แสดงค่าต่างๆ ทาง สถิต ิ เช่น Average, Medianข้อควรระว ังไม่ควรใช ้งานในการทํา Load testing เพราะว่าใช ้งานCPU มากๆๆๆๆ
  25. 25. Graph Result● เลือก Thread Group● click ขวา● เลือกเมนู ○ Add -> Listener -> Graph Result
  26. 26. Graph Result
  27. 27. Graph Result
  28. 28. สงให้ทางาน ั ํ
  29. 29. ผลการทํางานในรูปแบบ Graph Result
  30. 30. ผลการทํางานในรูปแบบ Result in Table
  31. 31. ผลการทํางานในรูปแบบ Aggregate graph
  32. 32. TODO :: Google Test Plan● Step ○ Create Test Plan ○ Create Thread Group ○ Create HTTP Request Default ○ Create HTTP Request ○ Create Listener ( Report ) ○ Run ...
  33. 33. TODO :: Search Google Test Plan● Step ○ Create Test Plan ○ Create Thread Group ○ Config Element ■ HTTP Cookie Manager ■ HTTP Header Manager ○ Create HTTP Request Default ○ Create HTTP Request ○ Create Listener ( Report ) ○ Run ...
  34. 34. เฉลย● https://github.com/up1/jMeter101/ ○ Google.jmx
  35. 35. การ import ข้อมูลจาก CSV file● เลือก Thread Group● click ขวา● เลือกเมนู ○ Add -> Config Element -> CSV Data Set Config
  36. 36. การ import ข้อมูลจาก CSV file
  37. 37. การ import ข้อมูลจาก CSV file
  38. 38. การกําหนด parameter ต่างๆ● File name● File Encoding● Variable Names● Delimiter● Allow quote data● Share mode
  39. 39. การ import ข้อมูลจาก CSV file
  40. 40. ต ัวอย่าง CSV filebugday2013bugdefectincident
  41. 41. ต ัวอย่าง CSV fileuser1,password1user2,password2user3,password3user4,password4user5,password5
  42. 42. การอ้างถึง Variable จาก Data Set● ${variable_name}
  43. 43. การอ้างถึง Variable จาก Data Set
  44. 44. TODO :: Search Google + CSV● Step ○ Create Test Plan ○ Create Thread Group ○ Create Data set CSV ■ keyword.csv ○ Create config element => CSV ○ Create HTTP Request Default ○ Create HTTP Request ○ Create Listener ( Report ) ○ Run ...
  45. 45. TODO :: Login Test Plan● Step ○ Create Test Plan ○ Create Thread Group ○ Create Data set CSV ■ userprofile.csv ○ Create config element => CSV ○ Create HTTP Request Default ○ Create HTTP Request ○ Create Listener ( Report ) ○ Run ...
  46. 46. เฉลย● https://github.com/up1/jMeter101/ ○ LoadDataFromCSV.jmx ○ userprofile.csv
  47. 47. Batch process with jMeter ( Non-GUI ) jmeter -n -t <Google.jmx> -n = Run with Non-GUI mode -t = กําหนด file jmx ( Test plan )
  48. 48. jMeter Distributed Testing 127.0.0.1 192.168.1.10 192.168.1.11 jMeter Summary 192.168.1.10 192.168.1.10 192.168.1.10
  49. 49. Step to config (1)● เพิมการ Start RMI Registry ของ server ต่างๆ ใน file jmeter-server.batเพิม RMI Registry ต่อจาก :setCPSTART "%JAVA_HOME%jrebinrmiregistry"
  50. 50. Step to config (2)● Start RMI Registry ของ server ต่างๆ ใน file jmeter-server.bat jmeter-server
  51. 51. Step to config (3)● เพิม Remote server ใน file jmeter.propertiesremote_hosts=127.0.0.1, 192.168.1.10,192.168.1.11, 192.168.1.12, 192.168.1.13,192.168.1.14
  52. 52. Step to config (4)● เปิ ดโปรแกรม jMeter ขึนมา เพือดู Remote host
  53. 53. Step to config (5)● Run !!
  54. 54. ผลการทํางาน
  55. 55. ข้อเสีย● มีความซับซ ้อน● GUI ค่อนข ้างสับสน● ยากต่อผู ้เริมต ้นใช ้งาน● Report ห่วย
  56. 56. ข้อดี● สําหรับคนทีเขียน Code เป็ น ○ สามารถเขียน plugin เพือขยายความสามารถได ้
  57. 57. ข้อดี● สําหรับคนทีเขียน Code ไม่เป็ น ○ http://code.google.com/p/jmeter-plugins/
  58. 58. Resources● http://jmeter.apache. org/usermanual/component_reference.html● http://jmeter.apache.org/usermanual/build- web-test-plan.html● http://jmeter.apache.org/usermanual/build- adv-web-test-plan.html
  59. 59. TODO :: Register Test Plan● Step ○ Create Test Plan ○ Create Thread Group ○ Create Data set CSV ■ user_register.csv ○ Create config element => CSV ○ Create HTTP Request Default ○ Create HTTP Request ○ Create Listener ( Report ) ○ Run ...
  60. 60. TODO :: Information● Server IP = http://119.59.97.9/● Parameters ( Visible ) ○ Firstname ○ Lastname ○ Company ○ Position ○ Phone● HTTP Post method
  61. 61. เฉลย● https://github.com/up1/jMeter101/ ○ Agile Singapore 2013.jmx ○ user_register.csv
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×