تسهّل مكتبة العميل لبرنامج Perl التفاعلات مع Google Ads API، مع الحد الأدنى من الإعدادات من جانبك. ومع ذلك، يعتمد الأداء بشكل كبير على كيفية استخدام المكتبة ودمجها.
تنطبق معظم أفضل الممارسات هذه على جميع اللغات. يتناول هذا الدليل الإعدادات التي تخصّ لغة Perl.
إنشاء ملف تعريف لتطبيقك
يمكنك إنشاء ملف تعريف لتطبيقك لمعرفة استخدام وحدة المعالجة المركزية (CPU) والذاكرة لتحديد نقاط اختناق الأداء. Devel::NYTProf هو أداة فعّالة لتحليل رمز مصدر Perl، وهي مزوّدة بالعديد من الميزات التي يمكنك استكشافها.
إصدار Perl
من الممارسات الجيدة الترقية بانتظام إلى إصدار Perl أحدث، لأنّه عادةً ما يحقّق أداءً أفضل بشكل عام. يمكنك الاطّلاع على هذا الرابط للحصول على أحدث إصدار من Perl والحد الأدنى للإصدار المطلوب للمكتبة في هذه الصفحة.
التسجيل
يمكن أن يؤدي التسجيل المكثّف إلى فرض عقوبات كبيرة على وقت التنفيذ واستهلاك ذاكرة
كبير. ننصحك بضبط مستوى التسجيل على WARN
لأي رمز في مرحلة
الإنتاج.
اطّلِع على دليل التسجيل للحصول على المزيد من التفاصيل حول ضبط أدوات تسجيل الملخّص والتفاصيل.
طريقة Search أو SearchStream
توفّر Google Ads API طريقتَين رئيسيتين لاسترداد العناصر:
Search
(التي تستخدِم تقسيم الصفحات) و
SearchStream
(التي تستخدِم البث).
تحقّق طريقة SearchStream
أداءً أفضل من طريقة Search
، ولكن قد
تكون هناك سيناريوهات معيّنة يكون فيها استخدام طريقة Search
مفضّلاً.
يمكنك الاطّلاع على مزيد من المعلومات حول الطريقتَين هنا.
مهلة 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.
حدِّد قيمة أقل إذا
كنت بحاجة إلى فرض حد أقصر على الحد الأقصى للوقت المستغرَق في طلب بيانات من واجهة برمجة التطبيقات.
يمكنك ضبط مهلة الانتظار على ساعتَين أو أكثر، ولكن قد تنتهي مهلة واجهة برمجة التطبيقات
للطلبات التي تستغرق وقتًا طويلاً جدًا وتعرض خطأ
DEADLINE_EXCEEDED
.
إذا واجهت هذا الخطأ، يمكنك تقسيم الطلب وتنفيذ الأجزاء بالتوازي، ما يتجنّب حدوث خطأ في طلب يستغرق وقتًا طويلاً ويؤدي إلى عدم اكتماله وعدم التمكّن من استرداد البيانات إلا من خلال إعادة تشغيل الطلب من البداية.