الأداء

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

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

تحليل محتوى تطبيقك

قم بتحليل التطبيق فيما يتعلق باستخدام كل من وحدة المعالجة المركزية (CPU) والذاكرة لتحديد عوائق الأداء. Devel::NYTProf هو محلّل برمجي لرموز برمجية بلغة Perl يتميز بميزات رائعة يمكنك استكشافه.

إصدار Perl

من الممارسات الجيدة الترقية بانتظام إلى إصدار أحدث من لغة Perl لأن ذلك عادةً ما يحقِّق أداءً أفضل بشكل عام. يمكنك الانتقال إلى هذه الصفحة للاطّلاع على أحدث إصدار من Perl بالإضافة إلى الحدّ الأدنى المطلوب لإصدار المكتبة في هذه الصفحة.

التسجيل

يمكن أن يؤدي التسجيل المكثف إلى فرض عقوبات كبيرة على وقت التنفيذ واستهلاك الذاكرة. ننصحك بضبط مستوى التسجيل على WARN لأي رمز في عملية الإنتاج.

راجِع دليل التسجيل لمعرفة مزيد من التفاصيل حول ضبط مسجّلات تسجيل التفاصيل والملخص.

طريقة البحث أو 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. إذا واجهت هذا الخطأ، قسِّم الطلب ونفِّذه بالتوازي، ما يتجنّب الحالات التي يفشل فيها طلب طويل الأمد وتكون الطريقة الوحيدة لاسترداده هي تشغيل الطلب مرة أخرى من البداية.