แอปพลิเคชัน Open Source Java ที่ออกแบบมาเพื่อวัดประสิทธิภาพและแอปพลิเคชันทดสอบโหลด
โดยมูลนิธิซอฟต์แวร์อาปาเช่
Apache JMeter สามารถวัดประสิทธิภาพและทดสอบการโหลดแอปพลิเคชันเว็บแบบคงที่และไดนามิก
สามารถใช้เพื่อจำลองการโหลดจำนวนมากบนเซิร์ฟเวอร์ กลุ่มของเซิร์ฟเวอร์ เครือข่าย หรืออ็อบเจ็กต์เพื่อทดสอบความแข็งแกร่งหรือเพื่อวิเคราะห์ประสิทธิภาพโดยรวมภายใต้โหลดประเภทต่างๆ
พกพาสะดวกและ Java 100%
มัลติเธรดช่วยให้สามารถสุ่มตัวอย่างพร้อมกันโดยหลายเธรดและการสุ่มตัวอย่างพร้อมกันของฟังก์ชันที่แตกต่างกันโดยกลุ่มเธรดที่แยกจากกัน
ความสามารถในการโหลดและทดสอบประสิทธิภาพแอปพลิเคชัน/เซิร์ฟเวอร์/โปรโตคอลหลายประเภท:
Test IDE ที่มีคุณลักษณะครบถ้วนซึ่งช่วยให้สามารถ บันทึก แผนการทดสอบได้อย่างรวดเร็ว (จากเบราว์เซอร์หรือแอปพลิเคชันแบบเนทีฟ) การสร้าง และ การดีบัก
โหมดบรรทัดคำสั่ง (ไม่ใช่ GUI / โหมด headless) เพื่อโหลดการทดสอบจากระบบปฏิบัติการที่รองรับ Java (Linux, Windows, Mac OSX, ... )
รายงาน HTML แบบไดนามิกที่สมบูรณ์และพร้อมที่จะนำเสนอ
รายงานสดไปยังฐานข้อมูลบุคคลที่สาม เช่น InfluxDB หรือ Graphite
เชื่อมโยงกันได้ง่ายผ่านความสามารถในการดึงข้อมูลจากรูปแบบการตอบกลับยอดนิยม HTML, JSON, XML หรือรูปแบบข้อความใดๆ
รายละเอียดของเวอร์ชันล่าสุดสามารถพบได้บนเว็บไซต์ JMeter Apache Project
ข้อกำหนดต่อไปนี้สำหรับการรัน Apache JMeter:
ล่ามจาวา:
จำเป็นต้องมี Java 17 Runtime Environment ที่เป็นไปตามข้อกำหนดอย่างสมบูรณ์เพื่อให้ Apache JMeter ดำเนินการได้ JDK พร้อมยูทิลิตี้ keytool
เหมาะกว่าสำหรับการบันทึกเว็บไซต์ HTTPS
กระป๋องเสริม:
JMeter ไม่ได้รวมขวดบางขวดไว้ด้วย หากจำเป็น ควรดาวน์โหลดสิ่งเหล่านี้และวางไว้ในไดเร็กทอรี lib
คอมไพเลอร์ Java ( ตัวเลือก ):
ไม่จำเป็นต้องใช้คอมไพลเลอร์ Java เนื่องจากการแจกจ่ายรวมไฟล์เก็บถาวรไบนารี Java ที่คอมไพล์ไว้แล้ว
โปรดทราบ ว่าจำเป็นต้องใช้คอมไพเลอร์เพื่อสร้างปลั๊กอินสำหรับ Apache JMeter
โปรดทราบ ว่าการเว้นวรรคในชื่อไดเรกทอรีอาจทำให้เกิดปัญหาได้
ปล่อยบิลด์
คลายไฟล์เก็บถาวรไบนารีลงในโครงสร้างไดเร็กทอรีที่เหมาะสม
bin
jmeter
(Un*x) หรือ jmeter.bat
(Windows)สำหรับ Windows ยังมีสคริปต์อื่นๆ ที่คุณสามารถลากและวางไฟล์ JMX ลงบน:
jmeter-n.cmd
- รันไฟล์เป็นแบบทดสอบที่ไม่ใช่ GUIjmeter-nr.cmd
- รันไฟล์เป็นแบบทดสอบระยะไกลที่ไม่ใช่ GUI (ไคลเอนต์ - เซิร์ฟเวอร์)jmeter-t.cmd
- โหลดไฟล์พร้อมที่จะรันเป็นการทดสอบ GUI เอกสารที่มีให้ ณ วันที่เผยแพร่นี้จะรวมอยู่ด้วยในรูปแบบ HTML ในไดเร็กทอรี printable_docs และอาจถูกเรียกดูโดยเริ่มจากไฟล์ชื่อ index.html
ดูการติดตามปัญหา
แตกไฟล์เก็บถาวรต้นทางลงในโครงสร้างไดเร็กทอรีที่เหมาะสม ไฟล์ไลบรารีของบุคคลที่สามส่วนใหญ่สามารถแตกออกจากไฟล์เก็บถาวรแบบไบนารีได้โดยการแตกไฟล์ลงในโครงสร้างไดเร็กทอรีเดียวกัน
ขวดเสริมใดๆ (ดูด้านบน) ควรวางไว้ใน lib/opt
และ/หรือ lib
Jars ใน lib/opt
จะถูกใช้เพื่อสร้าง JMeter และรันการทดสอบหน่วย แต่จะไม่ถูกใช้ในขณะรันไทม์
สิ่งนี้มีประโยชน์สำหรับการทดสอบว่าจะเกิดอะไรขึ้นหากผู้ใช้ JMeter รายอื่นไม่ได้ดาวน์โหลดขวดเสริม
หากคุณอยู่หลังพร็อกซี คุณสามารถตั้งค่าคุณสมบัติ build บางอย่างใน ~/.gradle/gradle.properties
เพื่อให้ Gradle ใช้พร็อกซีได้:
systemProp.http.proxyHost =proxy.example.invalid
systemProp.http.proxyPort =8080
systemProp.http.proxyUser =your_user_name
systemProp.http.proxyPassword =your_password
systemProp.https.proxyHost =proxy.example.invalid
systemProp.https.proxyPort =8080
systemProp.https.proxyUser =your_user_name
systemProp.https.proxyPassword =your_password
JMeter สร้างขึ้นโดยใช้ Gradle และใช้ Toolchains ของ Gradle สำหรับโครงการ JVM สำหรับการจัดเตรียม JDK หมายความว่าโค้ดจะค้นหา JDK ที่จำเป็นในเครื่อง หรือดาวน์โหลดหากไม่พบ
ตามค่าเริ่มต้น โค้ดจะใช้ JDK 17 เพื่อจุดประสงค์ในการสร้าง อย่างไรก็ตาม โค้ดจะตั้งค่ารีลีสเป้าหมายเป็น 8 ดังนั้นอาร์ติแฟกต์ผลลัพธ์ที่ได้จะเข้ากันได้กับ Java 8
คำสั่งต่อไปนี้สร้างและทดสอบ JMeter:
./gradlew build
หากคุณต้องการใช้ JDK ที่กำหนดเองสำหรับการสร้างคุณสามารถตั้งค่า -PjdkBuildVersion=11
และคุณสามารถเลือก -PjdkTestVersion=21
หากคุณต้องการใช้ JDK อื่นสำหรับการทดสอบ
คุณสามารถแสดงรายการพารามิเตอร์บิลด์ที่มีอยู่ได้โดยการดำเนินการ
./gradlew parameters
หากระบบไม่มีจอแสดงผล GUI:
./gradlew build -Djava.awt.headless=true
ส่วนเอาต์พุต (jars รายงาน) จะถูกวางไว้ในโฟลเดอร์ build
ตัวอย่างเช่น สิ่งประดิษฐ์ไบนารีสามารถพบได้ภายใต้ src/dist/build/distributions
คำสั่งต่อไปนี้จะคอมไพล์แอปพลิเคชันและช่วยให้คุณสามารถรัน jmeter
จากไดเร็กทอรี bin
โปรดทราบ ว่ามันจะรีเฟรชเนื้อหา
lib/
โดยสมบูรณ์ ดังนั้นมันจะลบปลั๊กอินที่กำหนดเองออกหากคุณติดตั้งปลั๊กอินเหล่านั้นลงในlib/
อย่างไรก็ตาม มันจะทำให้lib/ext/
ปลั๊กอินไม่เสียหาย
./gradlew createDist
หรือคุณสามารถให้ Gradle เริ่ม GUI:
./gradlew runGui
การสร้างและการบริจาคจะมีการอธิบายรายละเอียดที่การสร้าง JMeter และ CONTRIBUTING.md ข้อมูลเพิ่มเติมเกี่ยวกับงานที่มีอยู่สำหรับการสร้าง JMeter ด้วย Gradle มีอยู่ใน gradle.md
สามารถรับรหัสได้จาก:
สำหรับข้อมูลทางกฎหมายและใบอนุญาต โปรดดูไฟล์ต่อไปนี้:
การแจกจ่ายนี้อาจรวมถึงซอฟต์แวร์ที่ออกแบบมาเพื่อใช้กับซอฟต์แวร์เข้ารหัสลับ ประเทศที่คุณอาศัยอยู่ในปัจจุบันอาจมีข้อจำกัดในการนำเข้า ครอบครอง ใช้ และ/หรือส่งออกซ้ำไปยังประเทศอื่นของซอฟต์แวร์เข้ารหัส ก่อนที่จะใช้ซอฟต์แวร์เข้ารหัสใดๆ โปรดตรวจสอบกฎหมาย ข้อบังคับ และนโยบายของประเทศของคุณเกี่ยวกับการนำเข้า ครอบครอง หรือใช้ และส่งออกซอฟต์แวร์เข้ารหัสอีกครั้ง เพื่อดูว่าได้รับอนุญาตหรือไม่ ดู https://www.wassenaar.org/ สำหรับข้อมูลเพิ่มเติม
กระทรวงพาณิชย์ของรัฐบาลสหรัฐอเมริกา สำนักงานอุตสาหกรรมและความปลอดภัย (BIS) ได้จัดประเภทซอฟต์แวร์นี้เป็นหมายเลขควบคุมสินค้าส่งออก (ECCN) 5D002.C.1 ซึ่งรวมถึงซอฟต์แวร์รักษาความปลอดภัยข้อมูลที่ใช้หรือดำเนินการฟังก์ชันการเข้ารหัสด้วยอัลกอริธึมที่ไม่สมมาตร รูปแบบและลักษณะของการแจกจ่าย Apache Software Foundation นี้ทำให้มีสิทธิ์ในการส่งออกภายใต้ข้อยกเว้นใบอนุญาต ENC Technology Software Unrestricted (TSU) ข้อยกเว้น (ดู BIS Export Administration Rules, มาตรา 740.13) สำหรับทั้ง object code และ source code
ข้อมูลต่อไปนี้ให้รายละเอียดเพิ่มเติมเกี่ยวกับซอฟต์แวร์ที่ให้มาซึ่งอาจอยู่ภายใต้การควบคุมการส่งออกซอฟต์แวร์เข้ารหัส:
อินเทอร์เฟซ Apache JMeter กับ Java Secure Socket Extension (JSSE) API ที่จะจัดเตรียม
อินเทอร์เฟซ Apache JMeter (ผ่าน Apache HttpClient4) พร้อมด้วย Java Cryptography Extension (JCE) API เพื่อให้
Apache JMeter ไม่รวมการใช้งาน JSSE หรือ JCE ใดๆ
ขอบคุณที่ใช้ Apache JMeter
ประกาศสำหรับ mxparser:
ผลิตภัณฑ์นี้ประกอบด้วยซอฟต์แวร์ที่พัฒนาโดย Indiana University Extreme! แล็บ. สำหรับข้อมูลเพิ่มเติมกรุณาเยี่ยมชม http://www.extreme.indiana.edu/