ไลบรารีของไคลเอ็นต์ 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 เวอร์ชันล่าสุด v18
และต้องการนําการรองรับ API เวอร์ชันที่ไม่ได้ใช้ออก นั่นคือ v17
และ v16
ในไฟล์ 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 v16 and v17 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 16 17
# 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 ล้าน และเวอร์ชันที่รองรับที่เหลือเพียงเวอร์ชันเดียวคือ V18
# Supported Google Ads API versions:
V16
V17
V18
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 16 of Google Ads API...
Done
Removing support for the version 17 of Google Ads API...
Done
# Supported Google Ads API versions:
V18
# Vendor folder size:
60M ./vendor
เวอร์ชันที่พัฒนาเทียบกับเวอร์ชันที่ใช้งานจริง
PHP เป็นภาษาที่แปลความหมายเนื่องจากจะคอมไพล์คำสั่งก่อนดำเนินการ ซึ่งมักจะมีประโยชน์เนื่องจากในระหว่างการพัฒนา แหล่งที่มามักจะเปลี่ยนแปลงไปในขณะที่เวลาในการดำเนินการนั้นไม่สำคัญมากนัก แต่ในทางกลับกัน ในช่วงที่ใช้งานจริง ความเสถียรและประสิทธิภาพจะเป็นข้อกังวลหลัก
แคช
การแคชเป็นเทคนิคที่ใช้กันโดยทั่วไปและแนะนําอย่างยิ่ง เนื่องจากช่วยทั้งปรับปรุงประสิทธิภาพและเพิ่มความเสถียรด้วยการจัดเก็บคําสั่งสคริปต์ที่คอมไพล์ไว้ล่วงหน้า
OPcache เป็นโซลูชันที่ใช้กันมากที่สุดและพร้อมใช้งานโดยค่าเริ่มต้น
โหลดอัตโนมัติ
การโหลดอัตโนมัติเป็นที่นิยมเนื่องจากทั้งช่วยเพิ่มประสิทธิภาพและเพิ่มความเสถียรด้วยการโหลดข้อมูลที่คอมไพล์ไว้ล่วงหน้าเกี่ยวกับคลาส
ไลบรารีไคลเอ็นต์ PHP เป็นไปตาม PSR-4 สำหรับการโหลดอัตโนมัติและให้คำจำกัดความเป็นส่วนหนึ่งของไฟล์ composer.json
จากนั้นคุณจะใช้ตัวเลือกเฉพาะของ Composer ได้ เช่น --optimize-autoloader
หรือ --classmap-authoritative
การบันทึก
การตั้งค่าโปรแกรมบันทึกเป็นระดับสูง เช่น ERROR
จะช่วยลดความซับซ้อนของเวลาในการดำเนินการและการใช้หน่วยความจำ
ดูข้อมูลเพิ่มเติมได้ที่คู่มือการบันทึก
การแก้ไขข้อบกพร่องและการวัดประสิทธิภาพ
เราขอแนะนำให้ปิดใช้เครื่องมือแก้ไขข้อบกพร่องและเครื่องมือตรวจสอบประสิทธิภาพ เนื่องจากมักจะมีเวลาในการดำเนินการที่เพิ่มขึ้น
โหลดล่วงหน้า
ตั้งแต่ PHP 7.4 เป็นต้นไป คุณสามารถใช้การโหลดล่วงหน้าของ OPcache เพื่อโหลดสคริปต์ล่วงหน้าในหน่วยความจํา ซึ่งช่วยเพิ่มประสิทธิภาพการแคชได้
คุณต้องออกแบบสคริปต์เพื่อใช้ประโยชน์จากฟีเจอร์นี้ แต่ไลบรารีไคลเอ็นต์ PHP ไม่ได้ออกแบบมาเพื่อใช้ประโยชน์จากฟีเจอร์นี้ เนื่องจากไม่มีวิธีทั่วไปในการใช้การโหลดล่วงหน้าของ OPcache และข้อเสียระหว่างการใช้หน่วยความจำกับประสิทธิภาพที่เพิ่มขึ้นนั้นขึ้นอยู่กับโปรเจ็กต์และการใช้งาน