อะไรทำให้เวลาในการส่งคำขอสูง?

ฉันได้ดูประสิทธิภาพของแอปของฉันและสังเกตเห็นว่าเวลาในการส่งคำขอค่อนข้างสูง

ป้อนคำอธิบายรูปภาพที่นี่

หากฉันทำถูกต้อง เวลาในการส่งคำขอจะรวมการเดินทางเครือข่ายของเพย์โหลดจากไคลเอนต์ไปยังเซิร์ฟเวอร์ + เวลาในการประมวลผลของเซิร์ฟเวอร์ (AppInsights)

เมื่อดูเวลาในการโหลดหน้าเว็บ ฉันสับสนเนื่องจากการเรียก ajax ใช้เวลา ~ 300ms ในขณะนั้น แต่หน้าเว็บจะโหลดใน 4.27 วินาที AppInsights ไม่มีกราฟการตอบสนองของเซิร์ฟเวอร์ด้วยเหตุผลบางประการ (ฉันมีสองเว็บไซต์ในเว็บแอปเดียวกันและอีกเว็บไซต์หนึ่งฉันเห็นการวัดและส่งข้อมูลทางไกลฝั่งเซิร์ฟเวอร์ แต่สำหรับเว็บไซต์นี้หายไป)

ฉันไม่เห็นการใช้ทรัพยากรสูงบนเว็บแอป ดังนั้นฉันจึงไม่เข้าใจสิ่งที่ใช้เวลาเกือบ 4 วินาทีในคำขอ

ป้อนคำอธิบายรูปภาพที่นี่

มีวิธีขุดเพิ่มเติมหรือไม่?


person Pio    schedule 07.05.2018    source แหล่งที่มา


คำตอบ (1)


หากต้องการทราบว่าส่วนใดของแอปพลิเคชันที่ทำให้เกิดการทำงานช้า คุณสามารถรวบรวม .Net profiling Trace ในช่วงเวลาที่เกิดปัญหา ซึ่งจะช่วยให้ได้รับ Trace ที่สมบูรณ์ของแอปพลิเคชันและเธรดของแอปพลิเคชันที่ทำงานบน อินสแตนซ์แผนบริการแอปในช่วงเวลาที่เกิดปัญหา โดยการวิเคราะห์รายงานที่สร้างจากการติดตาม คุณสามารถระบุสิ่งที่ทำให้เกิดปัญหาได้อย่างง่ายดาย

ต่อไปนี้เป็นขั้นตอนในการรวบรวมการติดตาม .Net Profiler:

  1. เข้าสู่ระบบ พอร์ทัล Azure
  2. เลือก Azure Web App ที่คุณต้องการแก้ไขปัญหา
  3. คลิกที่ วินิจฉัยและแก้ไขปัญหา > เครื่องมือวินิจฉัย > เครื่องมือสร้างโปรไฟล์
  4. เมื่อแท็บ Collect .NET Profiler Trace เปิดขึ้น โปรดคลิกที่ปุ่ม รวบรวม Profiler Trace เพื่อรวบรวมการติดตามโปรไฟล์ ดังที่แสดงด้านล่าง

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

การคลิกที่ปุ่มรายละเอียดเพิ่มเติมจะเป็นการเปิด call stack พร้อมรายละเอียด

โปรดดูลิงก์ด้านล่างสำหรับข้อมูลเพิ่มเติม: https://blogs.msdn.microsoft.com/appserviceteam/2018/09/24/announcing-the-new-app-service-diagnostics-experience/

person DixitArora-MSFT    schedule 15.02.2019