Bean Network Tester

เปลี่ยนสภาพเครือข่ายตามเวลา

การสูญหาย 10% แบบคงที่เป็นเงื่อนไขในห้องแล็บ การเชื่อมต่อจริงแย่ลง ฟื้นตัว ค้างสี่วินาทีแล้วกลับมา และบั๊กที่คุณไล่ตามมักอยู่ในการเปลี่ยนแปลง ไม่ใช่ในสภาวะคงที่

สถานการณ์จำลองคือไทม์ไลน์

ไฟล์ JSON หนึ่งไฟล์ แต่ละขั้นบอกว่า ในวินาทีนี้ ใช้การตั้งค่าเหล่านี้ และสิ่งที่คุณไม่ได้กล่าวถึงจะคงค่าเดิม:

{
  "loop": true,
  "steps": [
    {"at": 0,  "settings": {"latency": 20, "jitter": 15, "down": 4096}},
    {"at": 20, "settings": {"loss": 8, "latency": 180}},
    {"at": 45, "settings": {"block_ip": "203.0.113.0/24"}},
    {"at": 65, "settings": {"block_ip": "", "loss": 0, "latency": 20}}
  ]
}

เวลาเป็นวินาทีนับจากเริ่มการรัน ไม่ใช่ช่วงห่างระหว่างขั้น เมื่อใช้ "loop": true ไทม์ไลน์จะเริ่มใหม่เมื่อจบ ซึ่งเหมาะกับการทดสอบความทนทานยาว ๆ ปล่อยให้มันรันแล้วใช้แอป

BeanNetworkTester.exe --scenario cafe-wifi.json --target myapp.exe

จำนวนสถานการณ์สำเร็จรูปในโปรแกรม: 8

ในโฟลเดอร์ scenarios ข้างไฟล์ปฏิบัติการ อ่านจากไฟล์เหล่านั้น สิ่งนี้จึงเป็นสิ่งที่คุณมีจริง ๆ:

ไฟล์ขั้นตอนระยะเวลาวนซ้ำ
blocked-endpoint.json465 sใช่
cafe-wifi.json585 sใช่
congested-vpn.json470 sใช่
failing-dns.json685 sใช่
mobile-lte-to-3g.json785 sใช่
overloaded-game-server.json572 sใช่
same-loss-in-runs.json5100 sใช่
upload-drop-midway.json775 sไม่

เป็นไฟล์ข้อความธรรมดา เปิดหนึ่งไฟล์ แก้ตัวเลข แล้วบันทึก ชื่อบอกสิ่งที่มันจำลอง ได้แก่ คาเฟ่ที่แออัด การเชื่อมต่อมือถือที่ตกจาก LTE เป็น 3G การอัปโหลดที่ตายกลางคัน เซิร์ฟเวอร์ที่รับโหลดเกิน และ DNS ที่หยุดตอบ

สองวิธีที่ง่ายกว่าเพื่อให้เกิดการเปลี่ยนแปลง

สถานการณ์จำลองคุ้มค่าที่จะเขียนเมื่อลำดับสำคัญ เมื่อไม่สำคัญ มีการตั้งค่าสองอย่างที่เปลี่ยนเองได้:

BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe

ทำไมจึงใช้ได้ขณะที่แอปกำลังรัน

ทุกการตั้งค่าที่สถานการณ์จำลองแตะถูกนำไปใช้สด ๆ กับเซสชันที่กำลังดำเนินอยู่ แอปไม่ต้องเริ่มใหม่ และเครื่องมือก็ไม่ต้อง บันทึกเหตุการณ์จดแต่ละขั้นตอนตามที่เกิดขึ้น เมื่อมีอะไรพัง คุณจึงเห็นว่ามันตามหลังการเปลี่ยนแปลงใด จับคู่กับ seed แล้วลำดับทั้งหมด รวมถึงการสูญหายแบบสุ่มภายใน จะซ้ำได้เป๊ะ

ต่อไป

พร้อมจะทำให้เครือข่ายของคุณพังโดยตั้งใจหรือยัง

ดาวน์โหลดสำหรับ Windows