การทดสอบเว็บไซต์จากบรรทัดคำสั่ง Linux [ปิด]


29

ฉันกำลังมองหาเครื่องมือในการทดสอบเว็บไซต์จากบรรทัดคำสั่ง Linux

จากผลลัพธ์ฉันต้องทราบการตอบสนอง http (รหัสสถานะ) แต่ยังใช้เปรียบเทียบเวลาที่ใช้ในการดาวน์โหลดองค์ประกอบต่าง ๆ ของไซต์

ขอบคุณล่วงหน้า.


คุณค้นพบดูหรือกำลังพิจารณาอะไร (เหมาะ / ไม่เหมาะสม) จนถึงตอนนี้?
mctylr

ไม่มีคำตอบเหล่านี้ฟังดูดีมากสำหรับฉัน คุณยังต้องรออายุการลบ
geotheory

คำตอบ:


35

คุณสามารถลองwgetด้วย-pตัวเลือก:

wget -p http://site.com

มันจะบอกคุณว่าต้องใช้เวลานานแค่ไหนในการดาวน์โหลดแต่ละองค์ประกอบและรหัสส่งคืนสำหรับแต่ละคำขอ


2
wget -p URL -O /dev/null
Fedir RYKHTIK

9

โปรดดู Apache Benchmark:

Apache Benchmark

สิ่งนี้จะให้ภาพรวมของประสิทธิภาพหน้าเว็บของคุณ


Apache benckmark ไม่สามารถใช้งานได้เนื่องจากเป็นแหล่งข้อมูลภายนอกซึ่งอันที่จริงเป็นเพลย์ลิสต์วิดีโอ youtube เรากำลังตรวจสอบการเข้าถึงแหล่งข้อมูลนี้ TY
Embreau

ฉันไม่เห็นว่าทำไมคุณไม่สามารถใช้ ab; เช่นเดียวกับคำตอบถัดไปมันจะทำงานได้ตราบใดที่ URL ของไซต์ของคุณสามารถเข้าถึงได้จากเครื่องที่คุณกำลังเรียกใช้เครื่องมือเปรียบเทียบ
gareth_bowles

เกณฑ์มาตรฐาน Apache ไม่ได้ จำกัด อยู่ที่ทรัพยากรในท้องที่ แต่เป็นเครื่องมือวัดประสิทธิภาพเต็มรูปแบบ (รวมถึงเวลาแฝงเครือข่าย, i / o, ฯลฯ )
อังเดร

เป็นการดีที่จะรู้ว่าฉันจะประเมินตัวเลือกนี้ขอบคุณ
Embreau

6

คุณอาจต้องการดูตัวเลือกต่อไปนี้ของ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>เป็นสิ่งที่ฉันต้องการ ขอบคุณ!
dsummersl

3

ซีลีเนียมและ Curl เป็นตัวเลือกที่ดีขึ้นอยู่กับเป้าหมายของคุณ twillนอกจากนี้โปรแกรมที่ฉันได้มาที่จะชอบไม่น้อยคือ ข้อมูลเพิ่มเติมสามารถดูได้ที่http://twill.idyll.org/

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


2

ใช้ curl เพื่อรับส่วนหัวของหน้าและเวลาที่กระบวนการ:

time curl -I http://yourpage.com | grep HTTP

ห่อนั้นในขณะที่วนรอบและคุณก็พร้อมที่จะไป เช่นเดียวกับที่คุณสามารถตรวจสอบองค์ประกอบทั้งหมดถ้าคุณรู้ URL



1

เครื่องมือใดที่คุณเลือกขึ้นอยู่กับสิ่งที่คุณต้องการวัดและความซับซ้อนของไซต์

หากพฤติกรรมของเว็บไซต์ขึ้นอยู่กับคุกกี้ (เช่นผู้ใช้จำเป็นต้องเข้าสู่ระบบ) ดังนั้น ab / curl / wget (อธิบายในคำตอบอื่น ๆ ) จะไม่พอเพียง ทางออกหนึ่งคือการใช้http :: บันทึก / www

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

เปรียบเทียบเวลาที่ใช้ในการดาวน์โหลดองค์ประกอบต่าง ๆ ของไซต์

นี่เป็นตัวบ่งชี้ประสิทธิภาพที่แย่มาก (แม้ว่ามันจะมีประโยชน์สำหรับการตรวจสอบสุขภาพของระบบการผลิต) ด้วยข้อยกเว้นของทรัพยากรขนาดใหญ่ / ช้าเช่นรายงานขนาดใหญ่ภาพ iso ไฟล์มัลติมีเดียการรับรู้ประสิทธิภาพมีน้อยมากเกี่ยวกับเวลาที่ใช้ในการประมวลผลคำขอเดียว - และมันยากมากที่จะวัดสิ่งนี้อย่างแม่นยำ (เพียงเพิ่ม% D สู่บันทึก apache ของคุณปรากฏขึ้นเพื่อแก้ปัญหา แต่ไม่สนใจการจับมือ TCP การเจรจา SSL ผลการแคชเวลาค้นหา DNS)

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

นอกจากนี้ยังมีข้อโต้แย้งเกี่ยวกับการวัดประสิทธิภาพที่ส่งมอบจริงให้กับผู้ใช้ไซต์ (RUM) กับการทดสอบสังเคราะห์



0

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


0

สำหรับการตรวจสอบส่วนหัวฉันชอบ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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.