परफ़ॉर्मेंस रिपोर्ट

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

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

प्रोटोबफ़ लागू करना

प्रोटोबफ़ का इस्तेमाल gRPC करता है के साथ-साथ, Google Ads API का भी इस्तेमाल किया जा सकता है. लागू करने के दो तरीके हैं: उपलब्ध है, लेकिन C में लिखे गए शब्द का प्रदर्शन बेहतर है.

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

PHP अनुवादक का ऑपरेशन मोड

PHP में बहुमुखी स्क्रिप्टिंग है भाषा और इसके कई ऑपरेशन मोड का इस्तेमाल करें. 2,399 सीजीआई (कॉमन गेटवे इंटरफ़ेस) का एक बड़ा फ़ायदा है, क्योंकि यह संसाधन लागू होते हैं.

PHP वर्शन

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

Google Ads API के ऐसे वर्शन जो इस्तेमाल नहीं हुए हैं

क्लाइंट लाइब्रेरी के सभी वर्शन, Google Ads API के कई वर्शन के साथ काम करते हैं. क्लाइंट लाइब्रेरी के साथ काम करने वाले Google Ads API के हर वर्शन के लिए, खास तौर पर बनाए गए पैकेज.

Google Ads API के ऐसे वर्शन के लिए खास तौर पर बनाए गए पैकेज जिनका इस्तेमाल नहीं किया जा रहा है क्लाइंट लाइब्रेरी से सुरक्षित तरीके से हटाया जा सकता है. क्योंकि इसकी मदद से तेज़ी से काम किया जा सकता है निष्पादन या मेमोरी फ़ुटप्रिंट को कम करता है, तो क्लाइंट लाइब्रेरी प्रोग्रामैटिक तरीके से किया जा सकता है.

उदाहरण

मान लें कि आप ऐसी क्लाइंट लाइब्रेरी लागू कर रहे हैं जिसमें सिर्फ़ सबसे नए वर्शन का इस्तेमाल किया जा रहा है एपीआई वर्शन: v17 और आप इस्तेमाल नहीं किए गए के लिए समर्थन हटाना चाहते हैं एपीआई वर्शन: v16 और v15.

प्रोजेक्ट की composer.json फ़ाइल में, कंपोज़र स्क्रिप्ट (नाम दिया गया) तय करें remove-google-ads-api-version-support) जो कंपनी को मिलने वाली क्लाइंट लाइब्रेरी, क्लास में ApiVersionSupport:

"scripts": {
  "remove-google-ads-api-version-support": [
    "Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
  ]
}

इसके बाद, पैरामीटर के तौर पर वर्शन नंबर के साथ कंपोज़र स्क्रिप्ट का इस्तेमाल करें और प्रिंट करें कुछ स्थिति संदेश:

# Change the current directory to the project directory.
cd /path/to/the/project

# Install the project.
composer install

# Output the vendor folder size and the list of Google Ads API versions that are
# supported before removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

# Use the Composer script to remove the unused versions v15 and v16 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 15 16

# Output the vendor folder size and the list of Google Ads API versions that are
# supported after removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

नीचे दिया गया सैंपल एक्ज़ीक्यूशन आउटपुट बताता है कि फ़ाइल का साइज़ 5 करोड़ है और सिर्फ़ V17 के साथ काम करने वाला वर्शन बचा है:

# Supported Google Ads API versions:
V15
V16
V17
# Vendor folder size:
110M    ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 15 of Google Ads API...
Done
Removing support for the version 16 of Google Ads API...
Done
# Supported Google Ads API versions:
V17
# Vendor folder size:
60M     ./vendor

डेवलपमेंट बनाम प्रोडक्शन

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

कैश

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

आम तौर पर, OPcache खाते का इस्तेमाल सबसे ज़्यादा किया जाता है समाधान और डिफ़ॉल्ट रूप से उपलब्ध होता है.

अपने आप लोड होने की सुविधा

अपने-आप लोड होना आम बात है क्योंकि यह परफ़ॉर्मेंस को बेहतर बनाता है और लोड होने की वजह से स्थिरता बढ़ाता है क्लास के बारे में पहले से इकट्ठा की गई जानकारी.

PHP क्लाइंट लाइब्रेरीPSR-4 अपने-आप लोड होने की सुविधा देता है और composer.json फ़ाइल से लिए जाते हैं. Composer के लिए खास तौर पर बने विकल्प, जैसे उदाहरण के लिए, --optimize-autoloader या --classmap-authoritative को पहले भी उनका इस्तेमाल किया जा सकता है.

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

लॉगर को ERROR जैसे हाई लेवल पर सेट करने से, एक्ज़ीक्यूशन में लगने वाला समय कम किया जा सकता है और मेमोरी की खपत.

ज़्यादा जानकारी के लिए, लॉग इन करने से जुड़ी गाइड देखें.

डीबग करना और प्रोफ़ाइल बनाना

हमारा सुझाव है कि डीबगर और प्रोफ़ाइलर टूल को बंद कर दें, क्योंकि आम तौर पर ये टूल पहले से मौजूद होते हैं लागू करने का समय बढ़ा दिया है.

प्रीलोड

PHP 7.4 के बाद से, OPcache पहले से लोड करना का इस्तेमाल मेमोरी में स्क्रिप्ट पहले से लोड करने के लिए किया जा सकता है, जो सामान्य से एक कदम आगे है कैश मेमोरी.

इस सुविधा का लाभ उठाने के लिए एक स्क्रिप्ट डिज़ाइन करनी होगी, लेकिन PHP क्लाइंट लाइब्रेरी में ज़रूरत नहीं है, क्योंकि ओपीकैश को लागू करने का कोई सामान्य तरीका नहीं है पहले से लोड करने की सुविधा मिलती है. साथ ही, मेमोरी के इस्तेमाल और परफ़ॉर्मेंस बेहतर करने के बीच का फ़र्क़ होता है किसी प्रोजेक्ट और उसके पूरा होने के हिसाब से सटीक होता है.