การกระจายแบบใดที่ใช้กันมากที่สุดในการจำลองเวลาตอบกลับของเซิร์ฟเวอร์


16

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

แน่นอนว่าเวลาตอบสนองนั้นเป็นไปตามการกระจายที่รู้จักกันดีและมีเหตุผลที่ดีที่จะเชื่อว่าการกระจายตัวเป็นรูปแบบที่ถูกต้อง อย่างไรก็ตามฉันไม่รู้ว่าการกระจายตัวนี้ควรเป็นอย่างไร

Log-normal และ Gamma เป็นสิ่งที่คำนึงถึงและคุณสามารถสร้างข้อมูลเวลาตอบสนองตามจริงได้ ไม่มีใครมีมุมมองเกี่ยวกับสิ่งที่การกระจายเวลาตอบสนองควรทำตาม?

คำตอบ:


17

การกระจาย Log-Normalเป็นสิ่งที่ฉันคิดว่าดีที่สุดในการอธิบายเวลาแฝงของเวลาตอบสนองของเซิร์ฟเวอร์ในฐานผู้ใช้ทั้งหมดในช่วงเวลาหนึ่ง

คุณอาจเห็นตัวอย่างบางส่วนได้ที่ไซต์ชื่อ aptly lognormal.comซึ่งอยู่ในธุรกิจการวัดการกระจายเวลาแฝงของไซต์เมื่อเวลาผ่านไปและอีกมากมาย ฉันไม่มีส่วนเกี่ยวข้องกับเว็บไซต์ยกเว้นการเป็นผู้ใช้ที่มีความสุข นี่คือลักษณะการกระจาย เวลาตอบสนอง (เช่นโหลดหน้าเว็บ) เทียบกับจำนวนการตอบกลับ:

การกระจายล็อกปกติ

โปรดทราบว่าในแผนภูมินี้สเกลโหลดเวลา (แกน X) เป็นเส้นตรง หากคุณเปลี่ยนแกน x ไปเป็นมาตราส่วนล็อกรูปร่างของการกระจายจะดูปกติมากขึ้น (รูประฆัง) ที่ด้านขวาของจุดสูงสุด


PDF นี้ดูเหมือนFréchetในความคิดของฉัน
usεr11852พูดว่า Reinstate Monic

4

กราฟตัวอย่าง  ดูบทความเพื่อเจาะลึก

การวิจัยของฉันแสดงแบบจำลองที่ดีที่สุดถูกกำหนดโดยบางสิ่ง: 1) คุณกังวลกับร่างกายหางหรือทั้งสองอย่างหรือไม่? หากไม่ใช่ "ทั้งคู่" การสร้างแบบจำลองชุดข้อมูลที่กรองจะมีประโยชน์มากกว่า 2) คุณต้องการแบบง่าย ๆ หรือแม่นยำมาก ๆ ? คือพารามิเตอร์กี่ตัว?

หากคำตอบที่ 1 คือ "ทั้ง" และ 2 คือ "ง่าย" Pareto ดูเหมือนจะทำงานได้ดีที่สุด มิฉะนั้นถ้า 1 คือ "ร่างกาย" และ 2 เป็น "ง่าย" - เลือกรูปแบบ erlang ที่กรองแล้ว ถ้า 1 คือ "ทั้ง" และ 2 คือ "ถูกต้อง" คุณอาจต้องการตัวแบบผสมแบบเกาส์เซียนในข้อมูลของคุณในโดเมนบันทึก - เป็นแบบบันทึกที่มีประสิทธิภาพ

เมื่อไม่นานมานี้ฉันค้นคว้าข้อมูลนี้และฉันไม่พบหัวข้อที่จะครอบคลุมได้ดีพอบนอินเทอร์เน็ตสาธารณะดังนั้นฉันเพิ่งเขียนบล็อกโพสต์ที่มีรายละเอียดการวิจัยของฉันในหัวข้อนี้


1
ขอบคุณสำหรับแผนภูมิ ฉันเชื่อว่านี่ไม่ใช่การตั้งค่าที่เรียบง่าย (เซิร์ฟเวอร์เดียว) ดูเหมือนว่าคุณจะมีมิดเดิลแวร์หรือแบ็คเอนด์ที่ช้ากว่า สิ่งเหล่านี้ทำให้การตอบสนองโดยรวมช้าลงเมื่อเซิร์ฟเวอร์ที่ผู้ใช้พบรอระบบย่อยส่วนหลังที่อาจแคช) เพื่อตอบสนอง นอกจากนี้ยังไม่ชัดเจนว่าแกน X และ Y เป็นตัวแทนของอะไร คุณกลับด้านความเร็วในการโหลด (เดิมคือแกน X) และนับ (แกน Y ดั้งเดิม) หรือไม่?
arielf

ขอบคุณสำหรับความคิดเห็นของคุณ! ชุดข้อมูลต้นทางคล้ายกับการ Ping มากกว่าคำขอบริการบนเว็บ แต่ฉันเดาว่าการกระจายสัญญาณแบบ trimodal นั้นมีสาเหตุหลักสองอย่างคือ 1) ความไม่สมมาตรแบบ bi-modal หลักเกิดจากเส้นทางเครือข่ายสองเส้นทางในขณะที่ 2) Long-tail 3rd คอมโพเนนต์เกิดจากสถานการณ์การกู้คืนข้อผิดพลาด tcp นั่นเป็นเพียงการคาดเดาว่า ... จุดสนใจหลักของฉันคือการใช้ประโยชน์เชิงประจักษ์ของแบบจำลองต่างๆไม่ใช่กระบวนการและทฤษฎี ฉันไม่แน่ใจว่าสิ่งที่คุณถามเกี่ยวกับแกนฤvertedษีแม้ว่า ... คุณมีตัวอย่างพล็อตหรือไม่
Andrew Charneski

นอกจากนี้ฉันขอโทษด้วยกราฟิกเลอะเทอะ แกน x คือไมโครวินาทีและแกน y คือความหนาแน่นของความน่าจะเป็น (ใช่ฉันรู้ ... ขอโทษ ... ดูสมุดบันทึกสำหรับวิทยาศาสตร์ที่ทำซ้ำได้)
Andrew Charneski
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.