ไลบรารีของไคลเอ็นต์สำหรับ Perl ช่วยให้การโต้ตอบกับ Google Ads API ง่ายขึ้น โดยคุณต้องกำหนดค่าเพียงเล็กน้อย อย่างไรก็ตาม ประสิทธิภาพขึ้นอยู่กับวิธีใช้และผสานรวมไลบรารีเป็นอย่างมาก
แนวทางปฏิบัติแนะนำทั่วไปส่วนใหญ่ใช้ได้กับทุกภาษา หน้านี้ครอบคลุมคำแนะนำด้านประสิทธิภาพสำหรับ Perl โดยเฉพาะ
สร้างโปรไฟล์แอปพลิเคชัน
สร้างโปรไฟล์แอปพลิเคชันสำหรับการใช้งานทั้ง CPU และหน่วยความจำเพื่อระบุคอขวดด้านประสิทธิภาพ Devel::NYTProf เป็นโปรแกรมสร้างโปรไฟล์ซอร์สโค้ด Perl ที่มีฟีเจอร์มากมาย
ซึ่งคุณใช้เพื่อวิเคราะห์เวลาในการดำเนินการได้
เวอร์ชัน Perl
อัปเกรดเป็น Perl เวอร์ชันใหม่กว่าเป็นประจำเพื่อรับประโยชน์จากการปรับปรุงประสิทธิภาพรันไทม์ ดาวน์โหลดเวอร์ชันล่าสุดจากแหล่งที่มาของ CPAN Perl releases และตรวจสอบเวอร์ชันขั้นต่ำที่จำเป็นสำหรับไลบรารีในข้อกำหนดของ README
การบันทึก
การบันทึกอย่างละเอียดอาจทำให้เสียเวลาในการดำเนินการและใช้หน่วยความจำมาก ตั้งค่าระดับการบันทึกเป็น WARN สำหรับโค้ดใดๆ ในเวอร์ชันที่ใช้งานจริง
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าเครื่องมือบันทึกข้อมูลสรุปและเครื่องมือบันทึกข้อมูลแบบละเอียดได้ที่คู่มือการบันทึก
SearchStream เทียบกับ Search
Google Ads API มี 2 วิธีหลักในการดึงข้อมูลออบเจ็กต์ ได้แก่
Search (ซึ่งใช้การแบ่งหน้า) และ
SearchStream (ซึ่งใช้การสตรีม) SearchStream
ให้ประสิทธิภาพดีกว่า Search แต่ก็มีบางสถานการณ์
ที่อาจต้องการใช้ Search
ดูการเปรียบเทียบ 2 วิธีนี้อย่างละเอียดได้ในคำแนะนำ การสตรีม
การเพิ่มประสิทธิภาพเพย์โหลดและการประมวลผลแบบกลุ่ม
วิธีลดค่าใช้จ่ายในการดำเนินการของเครือข่ายและการใช้หน่วยความจำ
- ขอเฉพาะฟิลด์ที่เฉพาะเจาะจงซึ่งแอปพลิเคชันของคุณต้องการในคำค้นหา Google Ads Query Language (GAQL)
- จัดกลุ่มการดำเนินการเปลี่ยนแปลงหลายรายการเป็น
mutateคำขอเดียวแทนที่จะ ส่งคำขอแยกกันสำหรับการเปลี่ยนแปลงแต่ละรายการ
HTTP หมดเวลา
ไลบรารีของไคลเอ็นต์ PERL มีการตั้งค่าสำหรับการกำหนดค่าการหมดเวลา HTTP ที่ระดับไคลเอ็นต์ ดังนี้
my $api_client = Google::Ads::GoogleAds::Client->new({
# Set HTTP timeout to 5 minutes (300 seconds).
http_timeout => 300,
});
ค่าเริ่มต้นคือ 3600 วินาที (1 ชั่วโมง) ซึ่งตั้งค่าตามค่าคงที่ DEFAULT_HTTP_TIMEOUT ใน Constants.pm
ตั้งค่าไคลเอ็นต์หมดเวลาที่กำหนดเองหากต้องการบังคับใช้ขีดจำกัดที่สั้นลง
สำหรับเวลาสูงสุดของการเรียก API
คุณตั้งค่าการหมดเวลาเป็น 2 ชั่วโมงขึ้นไปได้ แต่ API อาจยังคงหมดเวลาสำหรับคำขอที่ใช้เวลานานมากและแสดงข้อผิดพลาด DEADLINE_EXCEEDED หากพบข้อผิดพลาดนี้ ให้แบ่งคำขอออกเป็นส่วนเล็กๆ แล้วเรียกใช้แบบ
ขนาน ซึ่งจะช่วยหลีกเลี่ยงสถานการณ์ที่คำขอที่ใช้เวลานานล้มเหลว และ
วิธีเดียวที่จะกู้คืนได้คือการทริกเกอร์คำขออีกครั้งตั้งแต่ต้น