ไลบรารีการทดสอบประสิทธิภาพทั่วไปสำหรับการดำเนินการทดสอบโหลดที่เขียนใน .NET c#
- เดิมทีมุ่งเป้าไปที่นักพัฒนา (และจนถึงสถานการณ์เฉพาะกรณี) เพื่อความยืดหยุ่นสูงสุด
- แต่ง่ายพอที่จะใช้เป็นการเขียนการทดสอบการรวม - สำหรับเธรดเพิ่มเติม -
- NuGet:
Install-Package Viki.LoadRunner -pre
บทนำด่วน
เอกสารประกอบปัจจุบันอยู่ในรูปแบบของตัวอย่างโค้ดเท่านั้น
- ยังไม่เสร็จสมบูรณ์ แต่ IMO ควรจะดีพอที่จะดูว่าเครื่องมือนี้จะมีประโยชน์หรือไม่
เริ่มต้นด้วยการตั้งค่าเล็กๆ นี้เพื่อดูว่ามีการกำหนดค่าอย่างไร
- เราต้องกำหนด 3 สิ่งเพื่อทำการทดสอบการทำงานอย่างสมบูรณ์ (ดู QuickStartDemo.cs):
- [1] เขียนสถานการณ์การใช้งาน โดยกำหนดโค้ดด้วยตนเองซึ่งจะถูกดำเนินการพร้อมกันหลายครั้ง
- [2][ไม่บังคับ] กำหนดค่าวิธีการรวบรวม/นำเสนอผลลัพธ์
- [3] กำหนดกลยุทธ์เกี่ยวกับวิธีการดำเนินการทดสอบ (เช่น จำนวนเธรด ระยะเวลาที่ควรรัน ฯลฯ...)
- กรณีจริงและสถานการณ์การทดสอบโหลดอย่างง่ายเพื่อวัดประสิทธิภาพ "ค่อนข้างเป็นไปตามทฤษฎี" ของเซิร์ฟเวอร์ http แบบง่าย - https://github.com/Vycka/HttpMockSlim/tree/master/tests/HttpMockSlim.LoadTest
HistogramAggregator เป็นเครื่องมือเริ่มต้นในการรวบรวมผลลัพธ์ด้วยมิติข้อมูล/เมตริกที่กำหนดไว้
- เนื่องจากเอกสารมีความยืดหยุ่นจึงต้องใช้เวลาก่อนที่จะเสร็จสิ้น
- ก่อนหน้านั้น ควรง่ายพอที่จะเข้าใจการใช้งานต่างๆ ในตัวอย่างที่มีอยู่แล้ว:
- ฮิสโตแกรมAggregatorDemo.cs#L30 - WiP
- QuickStartDemo.cs#L64
- RawDataMeasurementsDemo.cs#L59
- AggregationImpactDemo.cs#L39
- BatchAndWaitDemo.cs#L29
- นอกจากนี้ยังมีเวอร์ชันทั่วไปของฮิสโตแกรมนี้เพื่อใช้กับข้อมูลที่คุณกำหนดเอง:
new Histogram<T>()
- มาพร้อมกับมิติข้อมูลและเมตริกทั่วไปเพียงไม่กี่รายการ แต่ด้วยประเภทที่กำหนดเองและการรวมที่จำเป็น เราอาจจำเป็นต้องใช้ IDimension<T>'s และ IMetric<T> ที่กำหนดเองบางส่วน
โครงการสาธิตที่เหลือ:
- ดัชนี
- การสาธิตเฉพาะคุณสมบัติ (WiP)
- RawDataMeasurementsDemo.cs
- ScenarioFactoryDemo.cs
- ปริมาตรเครื่องยนต์ (WiP)
- TheoreticalSpeedDemo.cs - ปริมาณงานทางทฤษฎีโดยไม่ต้องทำการวัดใดๆ
- AggregationImpactDemo.cs - ปริมาณงานทางทฤษฎีพร้อมแนบไปป์ไลน์การรวม
จนกว่าโครงการสาธิตจะเสร็จสมบูรณ์ คุณสามารถชำระเงินการตั้งค่าที่ยุ่งเหยิงของฉันที่ฉันใช้สำหรับการแก้ไขจุดบกพร่องได้:
- src/สนามเด็กเล่น/Program.cs
สิ่งที่ต้องทำในอนาคต
มีคำถาม / ข้อเสนอแนะ / ฯลฯ โปรดติดต่อฉัน