ประสิทธิภาพ

ไลบรารีของไคลเอ็นต์สำหรับ Perl ช่วยให้การโต้ตอบกับ Google Ads API ง่ายขึ้น โดยคุณต้องกำหนดค่าเพียงเล็กน้อย อย่างไรก็ตาม ประสิทธิภาพจะขึ้นอยู่กับวิธีใช้และผสานรวมไลบรารี

แนวทางปฏิบัติแนะนำเหล่านี้ ส่วนใหญ่ใช้ได้กับทุกภาษา คู่มือนี้จะอธิบายถึงตัวแปรที่ใช้เฉพาะใน Perl

การทำโปรไฟล์แอปพลิเคชัน

สร้างโปรไฟล์แอปพลิเคชันทั้งสำหรับการใช้งาน CPU และหน่วยความจำเพื่อระบุจุดคอขวดด้านประสิทธิภาพ Devel::NYTProf เป็นโปรแกรมสร้างโปรไฟล์ซอร์สโค้ด Perl ที่มีประสิทธิภาพและมีฟีเจอร์มากมายที่คุณสามารถสำรวจได้

เวอร์ชัน Perl

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

การบันทึก

การบันทึกอย่างละเอียดอาจทำให้เสียเวลาในการดำเนินการและใช้หน่วยความจำมาก เราขอแนะนำให้ตั้งค่าระดับการบันทึกเป็น WARN สำหรับโค้ดใดๆ ใน การใช้งานจริง

ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าเครื่องมือบันทึกสรุปและเครื่องมือบันทึกรายละเอียดได้ที่คู่มือการบันทึก

เมธอด Search หรือ SearchStream

Google Ads API มี 2 วิธีหลักในการดึงข้อมูลออบเจ็กต์ ได้แก่ Search (ซึ่งใช้การแบ่งหน้า) และ SearchStream (ซึ่งใช้การสตรีม) SearchStream ให้ประสิทธิภาพที่ดีกว่าวิธี Search แต่ในบางกรณีอาจเลือกใช้วิธี Search

ดูข้อมูลเพิ่มเติมเกี่ยวกับ 2 วิธีนี้ได้ที่นี่

HTTP หมดเวลา

ไลบรารีของไคลเอ็นต์ Perl มีอินเทอร์เฟซสำหรับการตั้งค่าการหมดเวลา HTTP ที่ระดับไคลเอ็นต์

my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
  # Set HTTP timeout to 5 minutes.
  http_timeout   => 300
});

ค่าเริ่มต้นจะตั้งค่าตามการตั้งค่า DEFAULT_HTTP_TIMEOUT ใน Constants.pm ตั้งค่าให้ต่ำลงหากต้องการบังคับใช้ขีดจำกัดเวลาสูงสุดสำหรับการเรียก API ให้สั้นลง

คุณตั้งค่าการหมดเวลาเป็น 2 ชั่วโมงขึ้นไปได้ แต่ API อาจยังคงหมดเวลาสำหรับคำขอที่ใช้เวลานานมากและแสดงข้อผิดพลาด DEADLINE_EXCEEDED หากพบข้อผิดพลาดดังกล่าว ให้แบ่งคำขอออกเป็นส่วนๆ แล้วเรียกใช้แต่ละส่วนแบบ ขนานกัน วิธีนี้จะช่วยหลีกเลี่ยงสถานการณ์ที่คำขอที่ใช้เวลานานล้มเหลว และ วิธีเดียวที่จะกู้คืนได้คือการทริกเกอร์คำขออีกครั้งตั้งแต่ต้น