Pinterest จับมือ Intel ขยาย gProfiler สำหรับการทำ Profiling ระดับอินเทอร์เน็ต

Pinterest ได้ผนึกกำลังกับ Intel เพื่อต่อยอด gProfiler ซึ่งเป็นเครื่องมือ Profiler แบบ Open-source ที่ให้การมองเห็นประสิทธิภาพการทำงานของระบบในระดับโครงสร้างพื้นฐานที่รองรับการใช้งานระดับอินเทอร์เน็ต

Pinterest ระบุว่าระบบนี้ทำงานบนอินสแตนซ์หลายแสนตัว ซึ่งรองรับผู้ใช้งานพร้อมกัน 640 ล้านคนต่อเดือน โดยรองรับบริการที่เขียนด้วย Java, Python, C++, Go และ Node.js

เครื่องมือนี้รวมข้อมูลประสิทธิภาพระดับระบบเข้ากับเครื่องมือเฉพาะด้าน เช่น async-profiler สำหรับ Java และ eBPF สำหรับ Python เพื่อสร้าง flame graph ที่เป็นหนึ่งเดียวกัน แม้ว่าแอปพลิเคชันจะใช้เวลาใน JVM, ไลบรารีเนทีฟ หรือ Linux kernel ก็ตาม

Agent จะค้นหาโปรเซส เริ่ม Profiler ที่เหมาะสม ผสาน stack trace และอัปโหลดโปรไฟล์โดยไม่จำเป็นต้องแก้ไขโค้ดแอปพลิเคชัน และข้อมูลจะถูกจัดเก็บใน S3 และวิเคราะห์ใน ClickHouse

ทั้ง Pinterest และ Intel ได้ปรับปรุงแพลตฟอร์มนี้ให้แข็งแกร่งสำหรับ Production โดยจัดการปัญหาการใช้ทรัพยากรของ Agent และการรับข้อมูลขนาดหลายเทราไบต์ก่อนนำไปใช้ในระดับ Fleet

ในขณะที่ Parca และ Grafana Pyroscope ใช้ eBPF สำหรับการทำ Profiling ทั่วทั้ง Fleet แต่ Intel VTune นั้นเน้นไปที่การวิเคราะห์ประสิทธิภาพเชิงวิศวกรรมมากกว่าการเป็น Cloud-native fleet profiler

ศัพท์ที่ควรรู้

  • gProfiler – เครื่องมือ Profiler แบบ Open-source ที่ใช้ในการตรวจสอบประสิทธิภาพของระบบ
  • Flame graph – ภาพกราฟิกที่แสดงให้เห็นว่าโปรเซสต่างๆ ใช้เวลาไปกับส่วนไหนบ้าง
  • eBPF – เทคโนโลยีที่ใช้ในการเก็บข้อมูลเชิงลึกของเคอร์เนล Linux สำหรับการทำ Profiling
  • JVM – Java Virtual Machine คือสภาพแวดล้อมที่รันแอปพลิเคชัน Java และอาจเป็นจุดที่ใช้เวลาในการประมวลผล
  • S3 – บริการจัดเก็บข้อมูลบนคลาวด์ที่ใช้ในการเก็บไฟล์โปรไฟล์

ที่มา: infoq.com

Leave a Comment