เครื่องมือ Linux อย่างง่ายสำหรับกำหนดเวลาคำขอ http เป็นมิลลิวินาที


12

ฉันกำลังมองหาเครื่องมือง่ายๆหรือคำสั่งในตัวที่จะช่วยให้ฉันวัดด้วยความแม่นยำมิลลิวินาทีเวลาที่ใช้ในการดึงหน้าเว็บระยะไกลจาก URL ที่กำหนด

คำตอบ:


12

สิ่งนี้ทำในสิ่งที่คุณต้องการหรือไม่?

time wget http://example.com

ซึ่งจะรวมถึงเวลาที่ใช้ในการเริ่มและเรียกใช้ wget ซึ่งอาจนานกว่าเวลาตอบสนองของเซิร์ฟเวอร์อย่างมาก
Paul Lynch

@ พอลลินช์: ฉันทำแบบทดสอบง่ายๆ ฉันวิ่งไปที่เทอร์มินัลหนึ่ง: rm foo; touch foo; python -m SimpleHTTPServerและอีกอัน: time wget --quiet --output-document=/dev/null localhost:8000/fooและผลลัพธ์ก็คือ 2 มิลลิวินาที ฉันใช้wgetgoogle.com แบบเดียวกัน(ซึ่งดึงข้อมูลตัวอักษรประมาณ 10K) และได้ประมาณหนึ่งในสี่ของวินาที ดังนั้นเราจะเรียกเวลาเริ่ม / รันประมาณ 1% ในกรณีนั้น จากนั้นสำหรับการเปรียบเทียบฉันทำtime curl file://fooและได้ประมาณ 4 มิลลิวินาที
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

ดูเหมือนว่าคุณจะถูกต้องสำหรับคำร้องขอ http - ซึ่งฉันได้รับการชะลอตัวเพียงประมาณ 2ms ฉันพยายามรับ https URL ด้วยเหตุนี้ wget จะช้าลงประมาณ 25 มิลลิวินาทีสำหรับคำขอที่ Chrome ส่งคืนในประมาณ 10ms (ไม่ใช่ "จากแคช") ทั้ง wget และ Chrome ทำงานบนเครื่องเดียวกับเว็บเซิร์ฟเวอร์และระบุว่าเป็น "localhost" ดังนั้นฉันจึงโทษว่าแตกต่างกันไปตามเวลา
Paul Lynch

7

Httpingจะทำเช่นนั้น

Httping เหมือนกับ 'ping' แต่สำหรับ http-ร้องขอ ให้ URL และมันจะแสดงระยะเวลาในการเชื่อมต่อส่งคำขอและรับการตอบกลับ (เฉพาะส่วนหัว) ระวังการส่งข้อมูลข้ามเครือข่ายก็ต้องใช้เวลาด้วย! ดังนั้นมันจะวัดเวลาแฝงของเว็บเซิร์ฟเวอร์ + เครือข่าย


3

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


2

คุณสามารถทำได้ด้วย curl ตามคำตอบนี้

สร้างไฟล์ใหม่curl-format.txtและวางใน:

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

จากนั้นเรียกใช้ curl ดังนี้:

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

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