web load testing tool ด้วย curl และ Ruby

posted on 30 Mar 2008 13:06 by wonam in softdev

เมื่อวานว่าง ผมเลยได้ลงมือเขียนของที่อยากเขียนเสียที

ผมต้องการจะทดสอบว่าเว็บที่ทำขึ้นรับโหลดได้มาก/น้อยแค่ไหน ตอนแรกหา tool อยู่ โชคดีคุณ sirn แนะนำให้ลองใช้ siege ก็ใช้งานได้ดี แต่ว่าเวลาจะทำอะไรที่มันยุ่งขึ้นอีกนิด เช่นจะ post ไฟล์ มันจะยุ่งมาก (เท่าที่ผมลองดู) ผมก็เลยอยากได้ tool ที่มันง่ายสักหน่อย หา ๆ ดูไม่เห็น (อาจจะมีก็ได้) ทีนี้ ลอง ๆ เล่น cURL ดูก็พบว่าแทบจะทำงานได้อย่างที่ต้องการแล้ว ขาดก็แต่หน้าฉากที่ใช้ง่าย ๆ หน่อย ก็เลยลองนั่งเขียนเล่น ๆ ดู

บังเอิญที่นี่แปะโค้ดลำบาก ขอโฆษณาแค่นี้ เอกสารและหน้าเว็บดูที่เว็บห้องวิจัย ส่วนตัวอย่างโค้ดที่จัดฟอร์แมตแล้วดูที่ codenone นะครับ

Comment

Comment:

Tweet

เพราะว่าพอมี lib แบบนี้ไว้ใช้แล้ว อีกหน่อยเวลาทดสอบ (แบบที่มันซับซ้อนมีหลายขั้นตอนหน่อย) ก็เขียนง่ายแล้วไง

#2 By wonam on 2008-07-30 18:01

งงแฮะ, ทำไมต้องเขียนเ code ruby ซับซ้อน ขนาด?

ปกติ ผมใช้ perl + wget แล้วก็ forkๆๆๆ และจับเวลา.

$ time -p perl -e 'for(1..100) { fork() or last; } system("wget -q -O/dev/null http://xxxxx/xxxx.html")'

$ time -p perl -e 'for(1..20) { push(@url, "http://xxxxx/xxxx.html"); } for(1..5) { fork() or last; } system("wget", "-q", "-O/dev/null", @url);'

อันแรกเป็นแบบ 100 concurrent x 1 request = 100 requests
อันหลัง 5 concurrent x 20 requests = 100 requests

#1 By อานนท์ (203.130.143.243) on 2008-07-26 23:22