jMeter101
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

jMeter101

on

  • 1,643 views

How to using jMeter for Load Testing web application ?

How to using jMeter for Load Testing web application ?

Statistics

Views

Total Views
1,643
Views on SlideShare
1,640
Embed Views
3

Actions

Likes
3
Downloads
52
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

jMeter101 Presentation Transcript

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