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

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

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

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

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

Perl वर्शन

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

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

ज़्यादा लॉगिंग करने से, एक्ज़ीक्यूशन में लगने वाले समय और मेमोरी की खपत पर असर पड़ सकता है. प्रोडक्शन में मौजूद किसी भी कोड के लिए, लॉगिंग लेवल को 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 सेकंड (एक घंटा) होती है. यह Constants.pm में DEFAULT_HTTP_TIMEOUT कॉन्स्टेंट के आधार पर सेट होती है. अगर आपको एपीआई कॉल के लिए ज़्यादा से ज़्यादा समय की सीमा को कम करना है, तो क्लाइंट के लिए कस्टम टाइमआउट सेट करें.

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