الأداء

مكتبة عملاء PHP تسهّل التفاعلات مع Google Ads API بأقلّ قدر التهيئة من جانبك. ومع ذلك، يعتمد الأداء بشكل كبير على مدى المكتبة ودمجها.

يمكن تطبيق معظم أفضل الممارسات هذه بجميع اللغات. يتناول هذا الدليل تلك الخاصة بلغة PHP.

تنفيذ Protobuf

يتم استخدام Protobuf من قِبل gRPC. وGoogle Ads API لرسائل الطلبات والرد هناك تطبيقان على الرغم من أن النص المكتوب بالحرف C يحقق أداءً أفضل.

راجِع دليل Protobuf للحصول على مزيد من المعلومات.

وضع تشغيل أداة الترجمة الفورية بلغة PHP

لغة PHP هي لغة برمجة نصية متعددة الاستخدامات ولها العديد من العمليات بناءً على الاستخدام. لغة PHP تتمتع CGI (واجهة البوابة المشتركة) بمزايا ملحوظة لأنها يمكن أن تشارك والموارد بين عمليات التنفيذ.

إصدار PHP

من الجيد الترقية بانتظام إلى إصدار PHP أحدث كما هو معتاد بأداء أفضل بشكل عام. قائمة بلغة PHP المتوافقة الإصدارات.

إصدارات Google Ads API غير المستخدَمة

تتيح جميع إصدارات مكتبة البرامج استخدام إصدارات متعددة من Google Ads API. لكل إصدار من إصدارات Google Ads API المتوافقة مع مكتبة العملاء، يتوفّر الحزم المخصصة للإصدار.

يمكن استخدام الحزم المخصصة لإصدارات Google Ads API غير المستخدمة بشكل آمن من مكتبة العملاء. لأنه قد يكون من المفيد تسريع التنفيذ أو تقليل البصمة الكربونية، توفر مكتبة البرامج أدوات مساعدة القيام بذلك آليًا.

مثال

لنفترض أنك تنفّذ مكتبة العملاء التي تستخدم أحدث إصدار رقم إصدار واجهة برمجة التطبيقات: v17، وتريد إزالة الدعم للإصدار غير المستخدَم إصدارات واجهة برمجة التطبيقات: v16 و v15

في ملف 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 v15 and v16 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 15 16

# 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 ميغابايت الإصدار المتوافق الوحيد هو V17:

# Supported Google Ads API versions:
V15
V16
V17
# Vendor folder size:
110M    ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 15 of Google Ads API...
Done
Removing support for the version 16 of Google Ads API...
Done
# Supported Google Ads API versions:
V17
# Vendor folder size:
60M     ./vendor

التطوير مقابل الإنتاج

PHP هي لغة يتم تفسيرها من حيث أنها تجمع التعليمات أولاً قبل تنفيذها. عادة ما يكون هذا مفيدة لأنه خلال وقت التطوير، غالبًا ما تتغير المصادر أثناء التنفيذ والوقت ليس بالغ الأهمية. ومع ذلك، فإن العكس صحيح في وقت الإنتاج حيث كما أن الاستقرار والأداء سيكونان مصدر قلق رئيسي.

ذاكرة التخزين المؤقت

التخزين المؤقت أمر شائع ويُنصح به بشدة لأنهما يحسن الأداء وتزيد من الثبات من خلال تخزين تعليمات النصوص البرمجية المجمّعة مسبقًا.

والدالة OPcache هي الأكثر استخدامًا وهو متوفر بشكل افتراضي.

إضافة الأموال تلقائيًا

التحميل التلقائي أمر شائع لأنّها تحسِّن الأداء وتزيد من الثبات من خلال التحميل معلومات مجمعة مسبقًا حول الفئات.

تتوافق مكتبة برامج PHP مع PSR-4 التحميل التلقائي ويوفر التعريف كجزء من composer.json الملف. خيارات مخصّصة لـ المؤلف، مثل --optimize-autoloader أو --classmap-authoritative على سبيل المثال، يمكن أن تكون المستخدم في عملية التصميم.

التسجيل

يمكن أن يساعد ضبط أدوات التسجيل على مستوى عالٍ مثل ERROR في تقليل وقت التنفيذ النفقات العامة واستهلاك الذاكرة.

اطّلِع على دليل التسجيل للحصول على مزيد من المعلومات.

تصحيح الأخطاء تحديد المواصفات الشخصية

ننصحك بإيقاف أدوات مصحح الأخطاء والمحلِّل حيث تتوفّر عادةً. بعض النفقات العامة لوقت التنفيذ.

التحميل المسبق

بدءًا من الإصدار 7.4 للغة PHP، يكون OPcache التحميل المُسبق يمكن استخدامها لتحميل النصوص البرمجية مسبقًا في الذاكرة، وبذلك تنتقل خطوة أبعد من المعتاد التخزين المؤقت.

يجب تصميم النص البرمجي للاستفادة من هذه الميزة، ولكن لغة PHP حيث لا توجد طريقة عامة لتنفيذ OPcache. والتحميل المسبق، والمفاضلة بين استخدام الذاكرة واكتساب الأداء هي محددة للغاية لمشروع معين وتنفيذه.