• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
jMeter101
 

jMeter101

on

  • 1,405 views

How to using jMeter for Load Testing web application ?

How to using jMeter for Load Testing web application ?

Statistics

Views

Total Views
1,405
Views on SlideShare
1,403
Embed Views
2

Actions

Likes
2
Downloads
52
Comments
0

1 Embed 2

https://twitter.com 2

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 jMeter101 Presentation Transcript

    • jMeter 101 @somkiat-- สยามชํานาญกิจ --
    • jMeter● เครืองมือช่วยทํา Load test และ วัดประสิทธิภาพการทํางานของ service ต่างๆ● เน ้นการทดสอบ Web application● Multi-Threading● พัฒนาด ้วยภาษา Java● ฟรี● Open source● http://jmeter.apache.org/
    • ความสามารถอืนๆ ของ jMeter● สามารถทํา Unit testing ของส่วนต่างๆ ได ้ ○ JDBC ○ FTP ○ LDAP ○ Web service ○ JMS ○ Mail => SMTP, POP3, IMAP ○ HTTP, HTTPS ○ TPC
    • สามารถทําอะไรก ับ jMeter ได้บาง ้● ใช ้สําหรับการทดสอบระบบ ○ Load testing ○ Performance testing ○ Availability testing ○ Functional testing● Monitor ระบบ ○ Database ○ Web server ○ FTP ○ ...
    • การทํางานของ jMeter● จําลองกลุมของผู ้ใช ้งานระบบ ่● ส่ง request ไปยัง server● บันทึกผลการ return จาก server เพือแสดงประสิทธิภาพการทํางาน● แสดงผลด ้วยภาพ เช่น Graph เป็ นต ้น
    • การทํางานของ jMeter สร้าง requestเริมต้น เพือส่งไปย ัง จบการทํางาน server jMeter Server แสดงผลการ ทําการรวบรวมข้อมูล ส่งข้อมูลกล ับมา ทํางาน เพือสรุปผลทางสถิต ิ jMeter บ ันทึกข้อมูล
    • เริมต้นการใช้งาน● 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● Configuration● Pre-processor element● Post-processor element
    • Test Plan● กําหนดลําดับการทํางานของ process ต่างๆ● ประกอบไปด ้วย ○ Thread Group ○ Controller ○ Listener ○ Timer ○ Assertion ○ Configuration
    • Thread Group● จุดเริมต ้นการทํางานของแต่ละ Test Plan● ประกอบไปด ้วย ○ Controller ○ Sampler● ข ้อมูลทีต ้องกําหนด ○ Number of thread ○ Ramp-up period ○ Loop count
    • Thread Group
    • รายละเอียดของ Thread Group
    • Configuration● ทําการกําหนดค่าเริมต ้นต่างๆ เช่น ○ HTTP Request Default ■ กําหนดค่าเริมต ้นของ HTTP Request เช่น url ของ server ■ ไม่ได ้ทําหน ้าทีสร ้าง Request ○ CSV Data Set Config ○ HTTP Cache Manager ○ HTTP Cookie Manager ○ HTTP Header Manager ○
    • HTTP Request Default● เลือก Thread Group● click ขวา● เลือกเมนู ○ Add -> Config Element -> HTTP Request Default
    • HTTP Request Default
    • HTTP Request Default
    • Sampler● ส่วนการทํางานจริงของ jMeter● สร ้าง Request ต่างๆ เพือให ้ได ้ผลทีต ้องการ● ตัวอย่างเช่น ○ HTTP Request ○ FTP Request ○ JDBC Request
    • HTTP Request● กําหนดค่าต่างๆ ของ Request นันๆ ○ Path ○ Protocol ○ Encoding ○ HTTP Method ■ GET ■ POST ■ HEAD ■ PUT ○ Parameters
    • HTTP Request● เลือก Thread Group● click ขวา● เลือกเมนู ○ Add -> Sampler -> HTTP Request
    • HTTP Request
    • HTTP Request
    • Listener● ทําหน ้าทีบันทึกข ้อมูลของผลการทํางาน เช่น ข ้อมูลจาก HTTP Request ลง file● แสดงผลการทํางานในรูปแบบ vistualization● ตัวอย่าง ○ Graph Result ○ View Result in Table ○ Summary Report ○ Aggregate Graph ○ Aggregate Report
    • Graph Result● แสดงผลการทํางานในรูปแบบ Graph● จะสร ้าง graph ในรูปแบบง่ายๆ● สามารถบันทึกลง file ทีต ้องการได ้● แสดงค่าต่างๆ ทาง สถิต ิ เช่น Average, Medianข้อควรระว ังไม่ควรใช ้งานในการทํา Load testing เพราะว่าใช ้งานCPU มากๆๆๆๆ
    • 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 HTTP Request ○ Create Listener ( Report ) ○ Run ...
    • 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 ...
    • เฉลย● 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 ○ Create config element => CSV ○ Create HTTP Request Default ○ Create HTTP Request ○ Create Listener ( Report ) ○ Run ...
    • 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 ...
    • เฉลย● 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 = กําหนด file jmx ( Test plan )
    • 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
    • Step to config (1)● เพิมการ Start RMI Registry ของ server ต่างๆ ใน file jmeter-server.batเพิม RMI Registry ต่อจาก :setCPSTART "%JAVA_HOME%jrebinrmiregistry"
    • 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.1.12, 192.168.1.13,192.168.1.14
    • 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-test-plan.html● http://jmeter.apache.org/usermanual/build- adv-web-test-plan.html
    • 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 ...
    • TODO :: Information● Server IP = http://119.59.97.9/● Parameters ( Visible ) ○ Firstname ○ Lastname ○ Company ○ Position ○ Phone● HTTP Post method
    • เฉลย● https://github.com/up1/jMeter101/ ○ Agile Singapore 2013.jmx ○ user_register.csv