ประสิทธิภาพ

ไลบรารีของไคลเอ็นต์สำหรับ 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 หากพบข้อผิดพลาดดังกล่าว ให้แยกคำขอและเรียกใช้ส่วนต่างๆ ใน Parallel; เพื่อหลีกเลี่ยงสถานการณ์ที่คำขอที่ทำงานเป็นเวลานานล้มเหลว และ วิธีเดียวที่จะกู้คืนได้คือการเรียกใช้คำขออีกครั้งตั้งแต่ต้น