ไลบรารีของไคลเอ็นต์ PHP ช่วยให้การโต้ตอบกับ Google Ads API ง่ายขึ้นโดยที่คุณต้องมีการกำหนดค่าเพียงเล็กน้อย อย่างไรก็ตาม ประสิทธิภาพจะสูงนั้นขึ้นอยู่กับวิธีใช้และผสานรวมไลบรารี
แนวทางปฏิบัติแนะนำเหล่านี้ส่วนใหญ่ใช้ได้กับทุกภาษา คู่มือนี้จะอธิบายคำแนะนำที่เฉพาะเจาะจงสำหรับภาษา PHP
การติดตั้งใช้งาน Protobuf
gRPC และ Google Ads API จะใช้ Protobuf สำหรับข้อความคำขอและข้อความตอบกลับ การติดตั้งพร้อมใช้งาน 2 รายการ แต่แบบที่เขียนด้วยภาษา C จะมีประสิทธิภาพดีกว่า
ดูข้อมูลเพิ่มเติมในคู่มือการสร้างภูมิคุ้มกันทางความคิด
โหมดการทำงานของอินเทอร์พรีเตอร์ PHP
PHP เป็นภาษาสคริปต์ที่มีประโยชน์หลากหลายและมีโหมดการดำเนินการมากมายที่ขึ้นอยู่กับการใช้งาน PHP CGI (Common Gateway Interface) มีข้อได้เปรียบที่โดดเด่นเนื่องจากสามารถใช้ทรัพยากรร่วมกันระหว่างการดำเนินการได้
เวอร์ชัน PHP
คุณควรอัปเกรดเป็น PHP เวอร์ชันใหม่อย่างสม่ำเสมอเนื่องจากจะมีประสิทธิภาพโดยรวมดีขึ้น รายการเวอร์ชัน PHP ที่รองรับ
เวอร์ชัน Google Ads API ที่ไม่ได้ใช้งาน
ไลบรารีของไคลเอ็นต์ทุกเวอร์ชันรองรับ Google Ads API หลายเวอร์ชัน สำหรับ Google Ads API แต่ละเวอร์ชันที่ไลบรารีของไคลเอ็นต์รองรับจะมีแพ็กเกจเฉพาะสำหรับเวอร์ชันนั้นๆ
คุณสามารถนำแพ็กเกจสำหรับ Google Ads API เวอร์ชันที่ไม่ได้ใช้งานโดยเฉพาะออกจากไลบรารีของไคลเอ็นต์ได้อย่างปลอดภัย เนื่องจากไลบรารีของไคลเอ็นต์จะมียูทิลิตี้สำหรับดำเนินการแบบเป็นโปรแกรม เนื่องจากมีประโยชน์ในการเพิ่มความเร็วในการดำเนินการหรือลดการใช้หน่วยความจำ
ตัวอย่าง
สมมติว่าคุณใช้งานไลบรารีของไคลเอ็นต์ที่ใช้เฉพาะ API เวอร์ชันล่าสุด v16
และต้องการเลิกรองรับ API เวอร์ชัน v15
และ v14
ในไฟล์ 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 v14 and v15 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 14 15
# 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
ตัวอย่างเอาต์พุตของการเรียกใช้ด้านล่างแสดงถึงขนาดไฟล์ที่ลดลง 50M และเวอร์ชันที่รองรับเพียงเวอร์ชันเดียวที่เหลืออยู่คือ V16
# Supported Google Ads API versions:
V14
V15
V16
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 14 of Google Ads API...
Done
Removing support for the version 15 of Google Ads API...
Done
# Supported Google Ads API versions:
V16
# Vendor folder size:
60M ./vendor
การพัฒนากับเวอร์ชันที่ใช้งานจริง
PHP คือภาษาที่ตีความได้ซึ่งจะรวบรวมคำสั่งก่อนนำไปใช้จริง การทำเช่นนี้มักจะมีประโยชน์ เนื่องจากแหล่งที่มามักมีการเปลี่ยนแปลงขณะที่เวลาในการดำเนินการไม่ได้มีความสำคัญมาก แต่ในทางตรงกันข้ามกับเวลาการผลิตเนื่องจากความเสถียรและประสิทธิภาพกลายเป็นข้อกังวลหลัก
แคช
การแคชเป็นสิ่งที่พบได้บ่อยและแนะนำให้ใช้อย่างยิ่ง เนื่องจากช่วยเพิ่มประสิทธิภาพและความเสถียรโดยการจัดเก็บคำสั่งสำหรับสคริปต์ที่คอมไพล์ไว้ล่วงหน้าแล้ว
OPcache เป็นโซลูชันที่ใช้บ่อยที่สุดและพร้อมใช้งานโดยค่าเริ่มต้น
โหลดอัตโนมัติ
การโหลดอัตโนมัติเป็นเรื่องปกติเพราะทั้งปรับปรุงประสิทธิภาพและความเสถียรด้วยการโหลดข้อมูลเกี่ยวกับคลาสที่กำหนดไว้ล่วงหน้า
ไลบรารีของไคลเอ็นต์ PHP ปฏิบัติตาม PSR-4 สำหรับการโหลดอัตโนมัติ และให้คำจำกัดความเป็นส่วนหนึ่งของไฟล์ composer.json
จากนั้นนำตัวเลือกเฉพาะของคอมโพสเซอร์ เช่น --optimize-autoloader
หรือ --classmap-authoritative
ไปใช้ได้ตั้งแต่แกะกล่อง
Logging
การตั้งค่าตัวบันทึกให้อยู่ในระดับสูง เช่น ERROR
จะช่วยลดเวลาในการดำเนินการและใช้หน่วยความจำได้
ดูข้อมูลเพิ่มเติมได้ในคู่มือการบันทึก
การแก้ไขข้อบกพร่องและการทำโปรไฟล์
เราขอแนะนำให้ปิดใช้เครื่องมือแก้ไขข้อบกพร่องและเครื่องมือสร้างโปรไฟล์ เนื่องจากเครื่องมือเหล่านี้มักมีค่าใช้จ่ายในการดำเนินงานบางส่วน
โหลดล่วงหน้า
ตั้งแต่ PHP 7.4 จะสามารถใช้ OPcache การโหลดล่วงหน้า เพื่อโหลดสคริปต์ล่วงหน้าในหน่วยความจำได้ ซึ่งเป็นไปมากกว่าการแคชตามปกติ ไปอีก 1 ก้าว
สคริปต์จะต้องได้รับการออกแบบมาเพื่อใช้ประโยชน์จากฟีเจอร์นี้ แต่ไลบรารีของไคลเอ็นต์ PHP ไม่มี เนื่องจากไม่มีวิธีการทั่วไปในการใช้การโหลด OPcache ล่วงหน้า และการทดแทนระหว่างการใช้หน่วยความจำกับประสิทธิภาพที่เพิ่มขึ้นมานั้นมีความเฉพาะเจาะจงสูงกับโปรเจ็กต์และการดำเนินการที่ระบุ