परफ़ॉर्मेंस मोड

Perl के लिए क्लाइंट लाइब्रेरी की मदद से, Google Ads API के साथ इंटरैक्ट करना आसान हो जाता है. इसके लिए, आपको कम से कम कॉन्फ़िगरेशन करना पड़ता है. हालांकि, परफ़ॉर्मेंस इस बात पर निर्भर करती है कि लाइब्रेरी का इस्तेमाल और इंटिग्रेशन कैसे किया जाता है.

आम तौर पर, सबसे सही तरीके सभी भाषाओं पर लागू होते हैं. इस पेज पर, Perl के लिए परफ़ॉर्मेंस से जुड़ी सलाह दी गई है.

अपने ऐप्लिकेशन की प्रोफ़ाइल बनाना

परफ़ॉर्मेंस से जुड़ी समस्याओं की पहचान करने के लिए, सीपीयू और मेमोरी के इस्तेमाल, दोनों के लिए अपने ऐप्लिकेशन की प्रोफ़ाइल बनाएं. Devel::NYTProf , Perl के सोर्स कोड का एक प्रोफ़ाइलर है. इसमें कई सुविधाएं उपलब्ध हैं. इसका इस्तेमाल, एक्ज़ीक्यूशन के समय का विश्लेषण करने के लिए किया जा सकता है.

Perl का वर्शन

रनटाइम परफ़ॉर्मेंस में सुधार का फ़ायदा पाने के लिए, Perl के नए वर्शन पर नियमित रूप से अपग्रेड करें. CPAN Perl source रिलीज़ से, सबसे नया वर्शन डाउनलोड करें. साथ ही, README की ज़रूरी शर्तों में, लाइब्रेरी के लिए ज़रूरी कम से कम वर्शन की जांच करें.

लॉग इन हो रहा है

ज़्यादा लॉगिंग करने से, एक्ज़ीक्यूशन में ज़्यादा समय लग सकता है और मेमोरी की खपत बढ़ सकती है. प्रोडक्शन में किसी भी कोड के लिए, लॉगिंग लेवल को WARN पर सेट करें.

खास जानकारी और पूरी जानकारी वाले लॉगर को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, लॉगिंग से जुड़ी गाइड देखें.

SearchStream बनाम Search

Google Ads API, ऑब्जेक्ट पाने के लिए दो मुख्य तरीके उपलब्ध कराता है: Search (जिसमें पेज पर नंबरिंग का इस्तेमाल किया जाता है) और SearchStream (जिसमें स्ट्रीमिंग का इस्तेमाल किया जाता है). SearchStream Search की तुलना में बेहतर परफ़ॉर्मेंस देता है. हालांकि, कुछ मामलों में Search को प्राथमिकता दी जा सकती है.

इन दोनों तरीकों की तुलना के बारे में ज़्यादा जानने के लिए, स्ट्रीमिंग से जुड़ी गाइड देखें.

पेलोड ऑप्टिमाइज़ेशन और बैचिंग

नेटवर्क ओवरहेड और मेमोरी की खपत को कम करने के लिए:

  • Google Ads क्वेरी लैंग्वेज (GAQL) की क्वेरी में, सिर्फ़ उन फ़ील्ड का अनुरोध करें जिनकी आपके ऐप्लिकेशन को ज़रूरत है.
  • हर बदलाव के लिए अलग-अलग अनुरोध भेजने के बजाय, कई म्यूटेट कार्रवाइयों को एक ही mutate अनुरोध में ग्रुप करें.

एचटीटीपी टाइम आउट

Perl की क्लाइंट लाइब्रेरी, क्लाइंट लेवल पर एचटीटीपी टाइम आउट को कॉन्फ़िगर करने के लिए एक सेटिंग उपलब्ध कराती है:

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. अगर आपको एपीआई कॉल के लिए, ज़्यादा से ज़्यादा समय की सीमा कम करनी है, तो क्लाइंट के लिए कस्टम टाइम आउट सेट करें.

टाइम आउट को दो घंटे या उससे ज़्यादा पर सेट किया जा सकता है. हालांकि, एपीआई अब भी बहुत ज़्यादा समय तक चलने वाले अनुरोधों के लिए टाइम आउट हो सकता है और DEADLINE_EXCEEDED गड़बड़ी दिखा सकता है. अगर आपको यह गड़बड़ी दिखती है, तो अनुरोध को छोटे-छोटे हिस्सों में बांटें और उन्हें एक साथ एक्ज़ीक्यूट करें. इससे, ऐसी स्थिति से बचा जा सकता है जहां ज़्यादा समय तक चलने वाला अनुरोध पूरा न हो पाए और उसे ठीक करने के लिए, अनुरोध को फिर से शुरू करना पड़े.