การติดตามการติดตามและการทำโปรไฟล์แตกต่างกันอย่างไร


16

ฉันเห็นคำสามคำนี้ปรากฏขึ้นมากมาย แต่ไม่เข้าใจความแตกต่างที่แน่นอนระหว่างคำเหล่านั้น ตัวอย่างเช่นการรวบรวมการใช้งาน CPU มักเรียกว่าการทำโปรไฟล์และยังสามารถตกอยู่ในการตรวจสอบประสิทธิภาพ อะไรคือความแตกต่างระหว่างพวกเขา?

คำตอบ:


11

นี่คือวิธีที่ฉันใช้คำเหล่านี้ อื่น ๆ อาจมีประเพณีเพิ่มเติมหรือแตกต่างกัน ฉันจะใช้ข้อกำหนดต่างกันขึ้นอยู่กับงานในมือ ทีมพัฒนาและทีมปฏิบัติการมีความต้องการใช้งานที่แตกต่างกัน

การตรวจสอบคือการตรวจสอบ โดยปกติจะเป็นแบบต่อเนื่องและเป็นแบบอัตโนมัติ เครื่องมือมาเปิดเช่นMunin, NagiosและMRTGตกอยู่ในหมวดหมู่นี้ มีเครื่องมือทางการค้ามากมายเช่นกัน ฉันจะรวมการsarรันอย่างต่อเนื่องในหมวดหมู่นี้ แต่ผลลัพธ์ของมันจะไม่ได้รับการตรวจสอบตามปกติ เครื่องมือตรวจสอบสามารถใช้เรียกการแจ้งเตือนเมื่อทรัพยากรที่ตรวจสอบอยู่สูงกว่าหรือต่ำกว่าระดับทริกเกอร์ เครื่องมือตรวจสอบจำนวนมากทำงานได้ดีในสภาพแวดล้อมที่แตกต่างกัน

การทำโปรไฟล์มักจะทำในโปรแกรมเฉพาะเพื่อดูว่าโค้ดใดใช้ทรัพยากรมากที่สุด บ่อยครั้งเป็นเวลา CPU แต่ยังรวมถึงหน่วยความจำ I / O และเวลาการดำเนินการ (wall) โดยปกติจะใช้เพื่อระบุรหัสผู้สมัครสำหรับการเพิ่มประสิทธิภาพ เครื่องมือการทำโปรไฟล์มีแนวโน้มที่จะเป็นภาษาและ / หรือขึ้นอยู่กับแพลตฟอร์ม

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

ฉันใช้การติดตามด้วยวิธีที่ต่างกันสองวิธี บ่อยที่สุดฉันติดตามเส้นทางเครือข่าย ขึ้นอยู่กับการตั้งค่าเครือข่ายและไฟร์วอลล์เครื่องมือต่าง ๆ อาจใช้กับความสำเร็จมากหรือน้อย ส่วนใหญ่เหล่านี้มี traceroute ในชื่อหรือคำอธิบายของพวกเขา

การติดตามโปรแกรมคือการติดตามการทำงานของโปรแกรม โดยทั่วไปจะทำในสถานการณ์ทดสอบ สามารถทำได้หลายวิธี (ตามลำดับการใช้งานและประสบการณ์):

  • ติดตามการโทรโดยใช้เครื่องมือที่ต้องการstraceดูรหัสที่เรียกว่า สิ่งนี้มีประโยชน์ในการพิจารณาว่าเหตุใดโปรแกรมจึงล้มเหลวหรือไม่ตอบสนองตามที่คาดไว้
  • การบันทึกระดับการติดตามซึ่งขึ้นอยู่กับคำสั่งการบันทึกที่เหมาะสมซึ่งรวมอยู่ในรหัส ชุดบันทึกส่วนใหญ่สนับสนุนรายละเอียดระดับนี้ การบันทึกระดับการติดตามมีแนวโน้มที่จะครอบคลุมรหัสไม่ดี ฉันมักจะเพิ่มตามความจำเป็นและทิ้งไว้ในรหัสสำหรับใช้ในอนาคต
  • บันทึกการสืบค้นกลับครอบคลุมรหัสซึ่งส่วนของรหัสได้ดำเนินการในชุดทดสอบ สิ่งนี้มีประโยชน์ในการพิจารณากรณีทดสอบที่ขาดหายไป ความครอบคลุม 100% ของรหัสเป็นการยากที่จะได้รับ ความครอบคลุม 100% ของการไหลปกติควรจะทำได้
  • การตรวจสอบโต๊ะทำงาน: ติดตามรหัสโดยการอ่าน ไม่มีประโยชน์อย่างมากสำหรับโปรแกรมขนาดใหญ่ แต่เป็นวิธีที่ดีในการระบุกรณีขอบสำหรับการทดสอบหน่วยคำตอบ / หรือเพื่อระบุปัญหาที่เป็นไปได้เมื่อแหล่งที่เป็นไปได้นั้นแคบลง Som = e IDEs และผู้แก้ไขทำให้การติดตามการเรียกใช้โค้ดทำได้ง่าย
  • การดีบักสด การติดตามการเรียกใช้โค้ดในขณะที่มันกำลังทำงานโดยใช้ดีบักเกอร์ เป็นไปได้ที่จะติดตามคำสั่งการดำเนินการตามคำสั่ง แต่หากปัญหาเป็นปัญหาเรื่องเวลาอาจถูกบดบัง ตัวแก้จุดบกพร่องที่สามารถเชื่อมโยงรหัสไปยังคำสั่งปัจจุบันช่วยได้มาก แต่อาจต้องใช้โปรแกรมสร้างเวอร์ชันการดีบัก

-1

ในเซิร์ฟเวอร์ SAP WEB Application เราสามารถกำหนดคำหลักทั้งสามนี้ตามที่ระบุไว้ด้านล่าง -

เทคนิคการตรวจสอบการติดตามและการทำโปรไฟล์ที่นำเสนอโดยเว็บรวมถึงเทคนิคเหล่านั้นที่จัดหาโดย SAP และระบบภายนอกอื่น ๆ อาจรวมเข้าด้วยกันโดยใช้สถาปัตยกรรม CCMS ที่ผ่านการพิสูจน์แล้วซึ่งอาจทำให้การบำรุงรักษาการติดตั้งขนาดใหญ่

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