ອ່ານເວລາຂອງພຣອກຊີ 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.
ປຽບທຽບການສົ່ງຕໍ່ທີ່ທຽບເທົ່າກັນ. ການປ່ຽນເສັ້ນທາງເພີ່ມເວລາຂອງຫຼາຍຄຳຮ້ອງຂໍ, ໃນຂະນະທີ່ການໃຊ້ການເຊື່ອມຕໍ່ຄືນ ແລະ ການຫຼາຍຊ່ອງທາງປ່ຽນວ່າຕ້ອງການວຽກກະກຽມໃດ. ບັນທຶກເງື່ອນໄຂເຫຼົ່ານັ້ນກ່ອນປຽບທຽບຕົວເລກຂອງພຣອກຊີໜຶ່ງກັບອີກອັນໜຶ່ງ.