พูดคุย:Lightweight Web Load Testing Tool with Curl and Ruby
ไปยังการนำทาง
ไปยังการค้นหา
You can leave your comments or bug reports here. (Just go ahead and edit (แก้ไข)) Thank you. Jittat 08:39, 2 เมษายน 2008 (ICT)
Better write these topic in http://programming.wikia.com/ ? (See http://th.lug.wikia.com/wiki/Why_Wikia%3F for more reasons) --Ans 23:41, 26 กรกฎาคม 2008 (ICT)
perl + wget + fork
ปกติ ผมใช้ perl + wget แล้วก็ forkๆๆๆ และจับเวลา.
อันแรกเป็นแบบ 100 concurrent x 1 request = 100 requests
$ time -p perl -e 'for(1..100) { fork() or last; } system("wget -q -O/dev/null http://xxxxx/xxxx.html")'
อันนี้ 5 concurrent x 20 requests = 100 requests
$ 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);'
ไม่แน่ใจว่า เหมือนหรือต่างกับ code อันที่ใช้ ruby นี้อย่างไร? (/me อ่าน code ruby ไม่รู้เรื่อง) --Ans 23:45, 26 กรกฎาคม 2008 (ICT)
/me เล่นเขียน perl เอาสดๆ จาก command line ประจำครับ --Ans 00:23, 27 กรกฎาคม 2008 (ICT)
- โดยหลักการแล้วไม่ต่างกันเท่าไหร่ถ้ามีเว็บเพจหน้าเดียว แต่ความสะดวกและความคล่องตัวอาจจะต่างกันอยู่ คือตัว code ruby อันนี้นี่ มองว่างานหนึ่ง ๆ มันเป็นกระบวนการทำงานต่อเนื่อง ต้องโหลดเพจหลาย ๆ หน้าต่อเนื่องกัน อาจมีการ login มี session แล้วก็มีการ post ข้อมูล แล้วก็ถาม อะไรพวกนี้ ก็เลยพยายามออกแบบให้ในการเขียน "สคริปเทส" ระบุกระบวนการทำงานต่อเนื่องและพยายามทำให้ post ได้สะดวก แล้วทั้งหมดก็ abstract ออกมาเป็น object visitor ซึ่งถ้ามีหลาย ๆ ประเภทก็ทดลองให้ทำงานพร้อม ๆ กันเพื่อทดลองโหลดเทสเว็บได้
- แต่สาเหตุหลัก ๆ ที่ทำให้เขียนออกมาเพราะว่าเรื่อง post ข้อมูล แล้วก็มี session นี่ล่ะครับ (เพราะว่าจะใช้เอง) --- Jittat 00:30, 27 กรกฎาคม 2008 (ICT)
- เคยใช้ perl + wget เขียน post + login + session เหมือนกัน. wget ก็ support cookie session อยู่แล้ว, โดยใส่ url ต่อเนื่องไปใน command line wget อันเดียว ดังนี้,
$ wget -O/dev/null -q http://host/login.php --post-data='user=xxx&password=yyy' http://host/some_query.php
- แต่ก็ยังติดตรงที่คำสั่ง --post-data ของ wget มันยังแยกไม่ได้ว่าจะให้ post เข้า url ไหนมั่ง. คือ --post-data เพียงอันเดียวจะถูก post เข้า ทุกๆ url ที่ส่งไปให้ wget. กรณีนี้ถ้า some_query.php มันไม่สน data ที่ post เข้าไป ก็ไม่เป็นไร, ก็พอกล้อมแกล้มใช้ไปได้.
- --Ans 00:43, 27 กรกฎาคม 2008 (ICT)
- เพิ่งรู้ว่า wget ทำพวก session ได้ด้วย ไม่รู้ว่า post จากไฟล์ได้ด้วยหรือเปล่า? จริง ๆ ทั้งหมดที่ทำก็ทำบน curl ตรง ๆ เอาไว้บ้างแล้วแล้ว แต่ว่าพอมันทำอะไรยุ่ง ๆ หน่อยมันก็เริ่มจะเละ ๆ ก็เลยเขียนเป็น dsl ด้วย ruby ครอบเอาไว้ แล้วก็เพิ่มส่วนที่เก็บพวกสถิติ จับเวลา response time อะไรพวกนี้ จริง ๆ ถ้าอยากเขียนเป็นสคริปหมดก็คงทำได้ แต่ที่อยากได้คือให้เวลาเขียนตัวสคริปขั้นตอนการทำงานของ user มันน่าจะเขียนง่าย อ่านง่ายมากกว่า -- Jittat 00:51, 27 กรกฎาคม 2008 (ICT)
- wget มีคำสั่ง --post-file, แต่ว่ามันไม่ได้เป็นแบบที่ใช้ upload file ที่ใช้ใน html form. ของ curl อาจจะเก่งกว่า. --Ans 01:13, 27 กรกฎาคม 2008 (ICT)