الأداء

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