ฉันกำลังมองหาเครื่องมือในการทดสอบเว็บไซต์จากบรรทัดคำสั่ง Linux
จากผลลัพธ์ฉันต้องทราบการตอบสนอง http (รหัสสถานะ) แต่ยังใช้เปรียบเทียบเวลาที่ใช้ในการดาวน์โหลดองค์ประกอบต่าง ๆ ของไซต์
ขอบคุณล่วงหน้า.
ฉันกำลังมองหาเครื่องมือในการทดสอบเว็บไซต์จากบรรทัดคำสั่ง Linux
จากผลลัพธ์ฉันต้องทราบการตอบสนอง http (รหัสสถานะ) แต่ยังใช้เปรียบเทียบเวลาที่ใช้ในการดาวน์โหลดองค์ประกอบต่าง ๆ ของไซต์
ขอบคุณล่วงหน้า.
คำตอบ:
คุณสามารถลองwget
ด้วย-p
ตัวเลือก:
wget -p http://site.com
มันจะบอกคุณว่าต้องใช้เวลานานแค่ไหนในการดาวน์โหลดแต่ละองค์ประกอบและรหัสส่งคืนสำหรับแต่ละคำขอ
wget -p URL -O /dev/null
คุณอาจต้องการดูตัวเลือกต่อไปนี้ของcurl
:
--write-out
- แสดงตัวแปรที่เกี่ยวข้องกับเวลาใด ๆ--trace-time
- เตรียมการประทับเวลาให้กับแต่ละการติดตามหรือบรรทัด verbose--verbose
--include
- (HTTP) รวมส่วนหัว HTTP ในเอาต์พุต--trace-ascii <file>
- เปิดใช้งานการดัมพ์การติดตามแบบเต็มของข้อมูลขาเข้าและขาออกทั้งหมดรวมถึงข้อมูลเชิงอธิบายและตัวเลือกต่อไปนี้wget
:
--timestamping
- เปิดการประทับเวลาcurl --trace-ascii <file> --trace-time -o /dev/null <url>
เป็นสิ่งที่ฉันต้องการ ขอบคุณ!
ซีลีเนียมและ Curl เป็นตัวเลือกที่ดีขึ้นอยู่กับเป้าหมายของคุณ twill
นอกจากนี้โปรแกรมที่ฉันได้มาที่จะชอบไม่น้อยคือ ข้อมูลเพิ่มเติมสามารถดูได้ที่http://twill.idyll.org/
มันดีเพราะมีภาษาเฉพาะของตัวเองเล็กน้อยในการกรอกแบบฟอร์มตรวจสอบลิงก์และตรวจสอบรหัสตอบกลับ เนื่องจากมันเป็นรหัส Python คุณสามารถนำเข้าไลบรารีและทำการทดสอบโดยอัตโนมัติได้ด้วยตนเองหากคุณต้องการทำสิ่งที่แตกต่าง
ใช้ curl เพื่อรับส่วนหัวของหน้าและเวลาที่กระบวนการ:
time curl -I http://yourpage.com | grep HTTP
ห่อนั้นในขณะที่วนรอบและคุณก็พร้อมที่จะไป เช่นเดียวกับที่คุณสามารถตรวจสอบองค์ประกอบทั้งหมดถ้าคุณรู้ URL
เครื่องมือใดที่คุณเลือกขึ้นอยู่กับสิ่งที่คุณต้องการวัดและความซับซ้อนของไซต์
หากพฤติกรรมของเว็บไซต์ขึ้นอยู่กับคุกกี้ (เช่นผู้ใช้จำเป็นต้องเข้าสู่ระบบ) ดังนั้น ab / curl / wget (อธิบายในคำตอบอื่น ๆ ) จะไม่พอเพียง ทางออกหนึ่งคือการใช้http :: บันทึก / www
ข้อมูลทั้งหมดที่คุณขออยู่ในบันทึกของเว็บเซิร์ฟเวอร์และสคริปต์ awk แบบง่ายจะส่งคืนในรูปแบบที่อ่านได้มากขึ้น
เปรียบเทียบเวลาที่ใช้ในการดาวน์โหลดองค์ประกอบต่าง ๆ ของไซต์
นี่เป็นตัวบ่งชี้ประสิทธิภาพที่แย่มาก (แม้ว่ามันจะมีประโยชน์สำหรับการตรวจสอบสุขภาพของระบบการผลิต) ด้วยข้อยกเว้นของทรัพยากรขนาดใหญ่ / ช้าเช่นรายงานขนาดใหญ่ภาพ iso ไฟล์มัลติมีเดียการรับรู้ประสิทธิภาพมีน้อยมากเกี่ยวกับเวลาที่ใช้ในการประมวลผลคำขอเดียว - และมันยากมากที่จะวัดสิ่งนี้อย่างแม่นยำ (เพียงเพิ่ม% D สู่บันทึก apache ของคุณปรากฏขึ้นเพื่อแก้ปัญหา แต่ไม่สนใจการจับมือ TCP การเจรจา SSL ผลการแคชเวลาค้นหา DNS)
ทางออกที่ดีกว่าคือการใช้บูมเมอแรง - แต่มันทำงานในเบราว์เซอร์ที่รองรับจาวาสคริปต์ แม้ว่าสิ่งนี้จะให้ตัวบ่งชี้ประสิทธิภาพการรับรู้ที่ดีกว่าการติดตามคำขอ HTTP แต่ละรายการ แต่ก็ขึ้นอยู่กับเหตุการณ์ของเบราว์เซอร์เพื่อรับค่าสำหรับประสิทธิภาพ - แต่ประสิทธิภาพที่ได้รับนั้นเป็นเรื่องเกี่ยวกับเวลาที่วิวพอร์ตแสดงผล ดูที่แถบเครื่องมือฟิล์มในWebPageTest )
นอกจากนี้ยังมีข้อโต้แย้งเกี่ยวกับการวัดประสิทธิภาพที่ส่งมอบจริงให้กับผู้ใช้ไซต์ (RUM) กับการทดสอบสังเคราะห์
ถ้าคุณต้องการบางสิ่งที่ใหญ่กว่านี้แล้วงอและ / หรือ wget ก็มีซีลีเนียมเช่นกัน
ฉันคิดว่าการรันการทดสอบประสิทธิภาพคุณสามารถลองJMeterได้ คุณสามารถบันทึกการทดสอบโดยใช้พร็อกซีในตัว มันยังทำงานในโหมดข้อความท้องถิ่นหรือกระจาย คุณสามารถบันทึกผลลัพธ์ในรูปแบบ csv หรือ xml หากใช้รูปแบบ xml คุณสามารถจัดเก็บเนื้อหาของหน้า
สำหรับการตรวจสอบส่วนหัวฉันชอบhttpie
( เอกสาร )
pip install httpie --user
$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187