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

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

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

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

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

Perl का वर्शन

Perl को समय-समय पर नए वर्शन में अपग्रेड करना अच्छा होता है, क्योंकि आम तौर पर इसकी परफ़ॉर्मेंस बेहतर होती है. Perl का सबसे नया वर्शन यहां देखें. साथ ही, लाइब्रेरी के लिए ज़रूरी कम से कम वर्शन, इस पेज पर देखें.

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

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

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

Search या SearchStream का तरीका

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

इन दोनों तरीकों के बारे में ज़्यादा जानने के लिए, यहां जाएं.

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

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

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

डिफ़ॉल्ट वैल्यू, Constants.pm में DEFAULT_HTTP_TIMEOUT सेटिंग के आधार पर सेट की जाती है. अगर आपको एपीआई कॉल के लिए, ज़्यादा से ज़्यादा समय की सीमा को कम करना है, तो कम वैल्यू सेट करें.

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