عملکرد

کتابخانه کارخواه Perl تعامل با Google Ads API را با حداقل پیکربندی ازجانب شما آسان می‌کند. بااین‌حال، عملکرد به‌طور قابل‌توجهی به نحوه استفاده و ادغام کتابخانه بستگی دارد.

اکثر روال‌های مطلوب عمومی برای همه زبان‌ها قابل‌اجرا هستند. این صفحه راهنمای عملکرد مختص Perl را پوشش می‌دهد.

نمایه کردن برنامه

برنامه‌تان را برای استفاده از واحد پردازش مرکزی و حافظه نمایه کنید تا گلوگاه‌های عملکرد را شناسایی کنید. ‫Devel::NYTProf یک نمایه‌گر کد منبع Perl با ویژگی‌های غنی است که می‌توانید از آن برای تجزیه‌وتحلیل زمان اجرا استفاده کنید.

نسخه Perl

برای بهره‌مندی از بهبودهای عملکرد زمان اجرا، به‌طور منظم به نسخه جدیدتری از Perl ارتقا دهید. جدیدترین نسخه را از نسخه‌های منبع CPAN Perl بارگیری کنید و حداقل نسخه موردنیاز برای کتابخانه را در پیش‌نیازهای README بررسی کنید.

ثبت

گزارش‌گیری گسترده می‌تواند منجر به جریمه‌های قابل‌توجه زمان اجرا و مصرف حافظه شود. سطح ثبت را برای هر کدی در مرحله تولید روی WARN تنظیم کنید.

برای جزئیات بیشتر درباره پیکربندی ثبت‌کننده‌های خلاصه و جزئیات، راهنمای ثبت گزارش را ببینید.

SearchStream دربرابر «جستجو»

‫Google Ads API دو روش اصلی برای بازیابی کردن اشیا ارائه می‌دهد: Search (که از صفحه‌بندی استفاده می‌کند) و SearchStream (که از جاری‌سازی استفاده می‌کند). SearchStream عملکرد بهتری نسبت‌به Search ارائه می‌دهد، هرچند سناریوهای خاصی وجود دارد که ممکن است Search ترجیح داده شود.

برای مقایسه دقیق این دو روش، به راهنمای جاری‌سازی مراجعه کنید.

بهینه‌سازی و دسته‌بندی بار مفید

برای به‌حداقل رساندن سربار شبکه و مصرف حافظه:

  • فقط فیلدهای خاصی را که برنامه‌تان در پُرسمان‌های Google Ads Query Language (GAQL) نیاز دارد درخواست کنید.
  • چندین عملیات جهش را در یک درخواست mutate گروه‌بندی کنید به‌جای اینکه برای هر تغییر درخواست جداگانه ارسال کنید.

مهلت HTTP

کتابخانه کارخواه Perl تنظیماتی برای پیکربندی زمان‌های اتمام HTTP در سطح کارخواه ارائه می‌دهد:

my $api_client = Google::Ads::GoogleAds::Client->new({
  # Set HTTP timeout to 5 minutes (300 seconds).
  http_timeout => 300,
});

مقدار پیش‌فرض 3600 ثانیه (۱ ساعت) است که براساس ثابت DEFAULT_HTTP_TIMEOUT در Constants.pm تنظیم شده است. اگر لازم است محدودیت کوتاه‌تری برای حداکثر زمان فراخوانی میانای برنامه‌سازی کاربردی اعمال کنید، زمان اتمام کارخواه سفارشی تنظیم کنید.

می‌توانید زمان وقفه را روی ۲ ساعت یا بیشتر تنظیم کنید، اما ممکن است API همچنان درخواست‌های بسیار طولانی را متوقف کند و خطای DEADLINE_EXCEEDED را برگرداند. اگر با این خطا مواجه شدید، درخواست را به بخش‌های کوچک‌تر تقسیم کنید و آن‌ها را به‌صورت موازی اجرا کنید. این کار از وضعیتی که در آن درخواست طولانی‌مدت ناموفق می‌شود و تنها راه بازیابی آن این است که درخواست را دوباره از ابتدا راه‌اندازی کنید، جلوگیری می‌کند.