ฉันจะเล่นไฟล์บันทึกการเข้าถึงของ Apache อีกครั้งที่เซิร์ฟเวอร์ของฉันเพื่อทำการทดสอบการใช้งานจริงได้อย่างไร


13

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

ฉันต้องการเพียงแค่มอบเครื่องมือ access_logs และให้มันเล่นได้ไม่ว่าจะเร็วกว่าหรือด้วยความเร็วเท่ากัน

คำตอบ:


14

คุณสามารถใช้ส่วนประกอบตัวอย่างบันทึกการเข้าถึงของ Jmeter

มีบทแนะนำสั้น ๆ เกี่ยวกับการใช้งานในPDFนี้


3
ฉันลองและเห็นได้ชัดว่าฉันต้องเป็นคนปัญญาอ่อนเพราะฉันไม่สามารถทำงานได้ดี ฉันลงเอยด้วยการใช้สคริปต์ python ที่insom.me.uk/z/2009/02/…
Stewart Robinson

เนื่องจากลิงก์เดิมตายไปแล้วนี่คือลิงค์ใน archive.org: web.archive.org/web/20090305084634/https://www.insom.me.uk/…
Walty Yeung

ตกลงในกรณีที่คนอื่นพบนี้สคริปต์นี้มีปัญหาเธรด หนึ่งอาจต้องแทนที่threadlib ด้วยthreadinglib ( stackoverflow.com/questions/19558401/ ...... )
Walty Yeung

1

สมมติว่าทั้งหมดที่คุณมีในบันทึกการเข้าถึงของคุณคือคำขอ GET และคุณไม่ต้องกังวลว่าคำขอจะรวมกันที่ขีด จำกัด ของความละเอียดของการประทับเวลาในบันทึกประมาณ 10 บรรทัดของ $ SCRIPTING_LANGUAGE ควรทำเคล็ดลับ POSTs, คุกกี้, HTTP auth และจังหวะที่ละเอียดยิ่งขึ้นเป็นการออกกำลังกายที่น่าสนใจยิ่งขึ้น


-1

ที่จะต้องใช้โปรแกรมเช่นแอปทดสอบการโหลดซึ่งรองรับการเล่นซ้ำบันทึก http หนึ่งแอปดังกล่าวคือ HTTPerf ( https://github.com/httperf/httperf )

บทความวิธีใช้อยู่ที่https://www.igvita.com/2008/09/30/load-testing-with-log-replay/


1
นี่จะเป็นคำตอบที่ดีกว่าถ้ามันรวมคำอธิบายที่แท้จริง เพียงแค่เชื่อมโยงไปยังเว็บไซต์ภายนอกหมดกำลังใจที่นี่เนื่องจากเว็บไซต์สามารถและมักจะหายไป
Michael Hampton

-2

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

ab -c 15 -n 1,000 http://site.name/

จะดำเนินการ 1,000 คำขอทำ 15 คำขอพร้อมกัน ฉันรู้ว่านี่ไม่ใช่สิ่งที่คุณต้องการอย่างแท้จริงและจะค้นหาเฉพาะที่อยู่เดียวที่คุณให้ หากคุณต้องการโหลดสิ่งนี้เป็นวิธีที่รวดเร็วและวิธีง่าย ๆ ในการดำเนินการและจะให้สถิติที่มีประโยชน์มากสำหรับการดีบัก


หากคำถามกล่าวว่า "ฉันมีข้อผิดพลาดที่ [... ] การทดสอบ AB [... ] ไม่สามารถทำซ้ำได้" ทำไมคุณถึงแนะนำให้ใช้ AB
womble

ฉันพลาด AB ที่ปรากฏในเครื่องมือ : p ฉันชอบที่จะบอกว่ามันเป็นการแก้ไข แต่ฉันไม่แน่ใจว่าตัวเองอย่างสุจริต
TrueDuality

-2

ทำไมคุณไม่พัฒนาตัวเอง? รับบันทึก แยกมัน รับ URI โทรหาขด คุณสามารถเขียนสิ่งนี้ใน php และเรียกใช้ใน apache สำหรับการทำงานพร้อมกัน

หากบันทึกของคุณอยู่ในรูปแบบ gz ให้ทำ zcat ให้ใช้เครื่องมือช่วยอ่าน ที่จะให้ URL ตอนนี้ใช้ phpCurl เพื่อกด URL สำหรับ throughput ที่สูงขึ้นให้รันใน apache (ใช้ ab เพื่อโหลด)


1
จากนั้นฉันจะมีสองแอปพลิเคชันเพื่อทดสอบการโหลด นั่นจะเป็นการบิด
Stewart Robinson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.