อ่านเวลาของพร็อกซี cURL จากฝั่งไคลเอนต์
ตีความเวลาการเชื่อมต่อ TLS ไบต์แรก และเวลารวม โดยไม่เหมางานต้นทางที่ไม่ได้สังเกตให้เป็นการวัดของพร็อกซีเพียงอย่างเดียว
สมมติว่า cURL เปิดการเชื่อมต่อ TCP ใหม่ไปยังพร็อกซี HTTP ธรรมดา สร้างอุโมงค์ HTTPS และดาวน์โหลดการตอบกลับหนึ่งรายการ เวลาเหล่านี้บรรยายจุดสำคัญที่ cURL สังเกตบนเส้นทางนั้น
| ค่า | จุดสำคัญที่วัดจากการเริ่มต้นการถ่ายโอน |
|---|---|
| time_connect | การเชื่อมต่อกับพร็อกซีเสร็จสิ้น |
| time_appconnect | การจับมือ TLS ที่เกี่ยวข้องเสร็จสิ้น |
| time_starttransfer | ได้รับไบต์แรกของการตอบกลับ |
| time_total | การถ่ายโอนสิ้นสุดลง |
สำหรับการบันทึกใน POSIX shell เป็นตัวอย่าง:
curl --proxy http://proxy.example:8080 \
--output /dev/null \
--write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
https://example.com/
สำหรับการเปรียบเทียบ HTTPS สาธารณะที่ได้รับอนุญาตโดยไม่มีข้อมูลรับรองพร็อกซี รายการ HTTP จากรายการพร็อกซี HTTP สามารถแทนพร็อกซีตัวอย่างได้ ค่าเหล่านี้เป็นวินาทีสะสม ไม่ใช่ช่วงเวลาอิสระสี่ค่าที่ต้องนำมาบวกกัน เก็บข้อผิดพลาดในการถ่ายโอนและสถานะการตอบกลับไว้ข้างตัวเลข: การเชื่อมต่อที่ล้มเหลวหรืออุโมงค์ที่ถูกปฏิเสธไม่ได้ไปถึงทุกจุดสำคัญถัดไป
การลบบอกอะไรได้บ้าง
สำหรับการตอบกลับที่สำเร็จหนึ่งรายการ time_total ลบ time_starttransfer อธิบายช่วงเวลาที่เหลือหลังจากไบต์แรกมาถึง นั่นคือการถ่ายโอนการตอบกลับช่วงหลังและงานที่เกี่ยวข้องฝั่งไคลเอนต์เป็นหลัก ไม่ใช่เวลาของพร็อกซีในการเชื่อมต่อกับเว็บไซต์ เพราะสิ่งนั้นเกิดขึ้นก่อนที่การตอบกลับจะมาถึง
ในทำนองเดียวกัน time_starttransfer ลบ time_connect อาจรวมการสร้างอุโมงค์ TLS การรอของเครือข่ายต้นทาง งานของเซิร์ฟเวอร์ และการประมวลผลอื่น ๆ การเรียกส่วนต่างทั้งหมดว่า "ความหน่วงของพร็อกซี" คือการเหมางานหลายองค์ประกอบให้ฝ่ายเดียว
เพื่อแยกการรอ DNS การเชื่อมต่อ และการตอบกลับของพร็อกซี ให้รับการสังเกตหรือร่องรอยที่สอดคล้องจากฝั่งพร็อกซี ไคลเอนต์ไม่ได้รับการประทับเวลาภายในเหล่านั้นเพียงเพราะใช้ HTTP CONNECT
เปรียบเทียบการถ่ายโอนที่เทียบเท่ากัน การเปลี่ยนเส้นทางเพิ่มเวลาของหลายคำขอ ขณะที่การใช้การเชื่อมต่อซ้ำและการมัลติเพล็กซ์เปลี่ยนว่าต้องเตรียมงานใด บันทึกเงื่อนไขเหล่านั้นก่อนเปรียบเทียบตัวเลขของพร็อกซีหนึ่งกับอีกตัวหนึ่ง