ไลบรารีของไคลเอ็นต์ PHP ช่วยให้คุณโต้ตอบกับ Google Ads API ได้ง่ายขึ้นด้วยการกำหนดค่าเพียงเล็กน้อย อย่างไรก็ตาม ประสิทธิภาพจะขึ้นอยู่กับวิธีใช้และผสานรวมไลบรารีเป็นอย่างมาก
แนวทางปฏิบัติแนะนำเหล่านี้ส่วนใหญ่ใช้ได้กับทุกภาษา คู่มือนี้จะอธิบายเกี่ยวกับข้อกำหนดเฉพาะสำหรับ PHP
การใช้งาน Protobuf
gRPC และ Google Ads API ใช้ Protobuf สําหรับข้อความคําขอและการตอบกลับ การใช้งานมี 2 แบบ แต่เวอร์ชันที่เขียนด้วย C มีประสิทธิภาพดีกว่า
ดูข้อมูลเพิ่มเติมได้ที่คู่มือ Protobuf
โหมดการทํางานของโปรแกรมล่าม PHP
PHP เป็นภาษาสคริปต์อเนกประสงค์และมีโหมดการดำเนินการหลายโหมด ทั้งนี้ขึ้นอยู่กับการใช้งาน PHP CGI (Common Gateway Interface) มีข้อได้เปรียบที่โดดเด่นเนื่องจากสามารถแชร์ทรัพยากรระหว่างการเรียกใช้ได้
เวอร์ชัน PHP
เราขอแนะนำให้อัปเกรดเป็น PHP เวอร์ชันใหม่เป็นประจำ เนื่องจากมักจะมีประสิทธิภาพโดยรวมที่ดีขึ้น รายการเวอร์ชัน PHP ที่รองรับ
เวอร์ชัน Google Ads API ที่ไม่ได้ใช้
ไลบรารีของไคลเอ็นต์ทุกเวอร์ชันรองรับ Google Ads API หลายเวอร์ชัน ไลบรารีของไคลเอ็นต์รองรับ Google Ads API แต่ละเวอร์ชัน โดยมีแพ็กเกจเฉพาะสำหรับเวอร์ชันนั้นๆ
คุณสามารถนำแพ็กเกจสำหรับ Google Ads API เวอร์ชันที่ไม่ได้ใช้ออกจากไลบรารีของไคลเอ็นต์ได้อย่างปลอดภัย เนื่องจากอาจมีประโยชน์ในการเร่งการทํางานหรือลดการใช้หน่วยความจํา ไลบรารีของไคลเอ็นต์จึงมียูทิลิตีที่ทํางานแบบเป็นโปรแกรม
ตัวอย่าง
สมมติว่าคุณกำลังใช้ไลบรารีของไคลเอ็นต์ที่ใช้เฉพาะ API เวอร์ชันล่าสุด v20
และต้องการนําการรองรับ API เวอร์ชันที่ไม่ได้ใช้ออก นั่นคือ v19
และ v18
ในไฟล์ composer.json
ของโปรเจ็กต์ ให้กําหนดสคริปต์ Composer (ชื่อ remove-google-ads-api-version-support
) ที่ใช้ยูทิลิตีจากไลบรารีไคลเอ็นต์ในคลาส ApiVersionSupport
ดังนี้
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
จากนั้นใช้สคริปต์ Composer ที่มีหมายเลขเวอร์ชันเป็นพารามิเตอร์และพิมพ์ข้อความสถานะบางส่วน ดังนี้
# Change the current directory to the project directory.
cd /path/to/the/project
# Install the project.
composer install
# Output the vendor folder size and the list of Google Ads API versions that are
# supported before removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor
# Use the Composer script to remove the unused versions v18 and v19 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 18 19
# Output the vendor folder size and the list of Google Ads API versions that are
# supported after removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor
ตัวอย่างเอาต์พุตการดำเนินการด้านล่างแสดงการลดขนาดไฟล์ 50 ล้าน และเวอร์ชันที่รองรับที่เหลือเพียงเวอร์ชันเดียวคือ V20
# Supported Google Ads API versions:
V18
V19
V20
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 18 of Google Ads API...
Done
Removing support for the version 19 of Google Ads API...
Done
# Supported Google Ads API versions:
V20
# Vendor folder size:
60M ./vendor
เวอร์ชันที่พัฒนาเทียบกับเวอร์ชันที่ใช้งานจริง
PHP เป็นภาษาที่แปลความหมายเนื่องจากจะคอมไพล์คำสั่งก่อนดำเนินการ ซึ่งมักจะมีประโยชน์เนื่องจากในระหว่างการพัฒนา แหล่งที่มามักจะเปลี่ยนแปลงไปในขณะที่เวลาในการดำเนินการนั้นไม่สำคัญมากนัก แต่ในทางกลับกัน ในช่วงที่เผยแพร่ ประเด็นหลักคือความเสถียรและประสิทธิภาพ
แคช
การแคชเป็นเทคนิคที่ใช้กันโดยทั่วไปและแนะนําอย่างยิ่ง เนื่องจากช่วยทั้งปรับปรุงประสิทธิภาพและเพิ่มความเสถียรด้วยการจัดเก็บคําสั่งสคริปต์ที่คอมไพล์ไว้ล่วงหน้า
OPcache เป็นโซลูชันที่ใช้กันมากที่สุดและพร้อมใช้งานโดยค่าเริ่มต้น
โหลดอัตโนมัติ
การโหลดอัตโนมัติเป็นที่นิยมเนื่องจากทั้งช่วยเพิ่มประสิทธิภาพและเพิ่มความเสถียรด้วยการโหลดข้อมูลที่คอมไพล์ไว้ล่วงหน้าเกี่ยวกับคลาส
ไลบรารีไคลเอ็นต์ PHP เป็นไปตาม PSR-4 สำหรับการโหลดอัตโนมัติและให้คำจำกัดความเป็นส่วนหนึ่งของไฟล์ composer.json
จากนั้นคุณจะใช้ตัวเลือกเฉพาะของ Composer ได้ เช่น --optimize-autoloader
หรือ --classmap-authoritative
การบันทึก
การตั้งค่าโปรแกรมบันทึกเป็นระดับสูง เช่น ERROR
จะช่วยลดความซับซ้อนของเวลาในการดำเนินการและการใช้หน่วยความจำ
ดูข้อมูลเพิ่มเติมได้ที่คู่มือการบันทึก
การแก้ไขข้อบกพร่องและการวัดประสิทธิภาพ
เราขอแนะนำให้ปิดใช้เครื่องมือแก้ไขข้อบกพร่องและเครื่องมือตรวจสอบประสิทธิภาพ เนื่องจากมักจะมีเวลาในการดำเนินการที่เพิ่มขึ้น
โหลดล่วงหน้า
ตั้งแต่ PHP 7.4 เป็นต้นไป คุณสามารถใช้การโหลด OPcache ล่วงหน้าเพื่อโหลดสคริปต์ล่วงหน้าในหน่วยความจํา ซึ่งช่วยเพิ่มประสิทธิภาพการแคชได้
คุณต้องออกแบบสคริปต์เพื่อใช้ประโยชน์จากฟีเจอร์นี้ แต่ไลบรารีไคลเอ็นต์ PHP ไม่ได้ออกแบบมาเพื่อใช้ประโยชน์จากฟีเจอร์นี้ เนื่องจากไม่มีวิธีทั่วไปในการใช้การโหลดล่วงหน้าของ OPcache และข้อเสียระหว่างการใช้หน่วยความจำกับประสิทธิภาพที่เพิ่มขึ้นนั้นขึ้นอยู่กับโปรเจ็กต์และการดำเนินการหนึ่งๆ เป็นอย่างมาก