PHP Academy · पाठ

Xdebug से PHP की प्रोफ़ाइलिंग

Xdebug प्रोफ़ाइलिंग सक्षम करें और धीमे फ़ंक्शन खोजने के लिए callgrind आउटपुट का विश्लेषण करें

पाठ 1, कुल 4 में से13 चरण

Xdebug से PHP की प्रोफ़ाइलिंग, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Xdebug क्या है?

Xdebug एक PHP एक्सटेंशन है जो डीबगिंग, कोड कवरेज और प्रोफाइलिंग क्षमताएँ प्रदान करता है। प्रोफाइलर रिकॉर्ड करता है कि प्रत्येक फ़ंक्शन कॉल में कितना समय लगता है और उसे कितनी बार कॉल किया जाता है।

Xdebug इंस्टॉल करना

PECL या पैकेज प्रबंधक के माध्यम से इंस्टॉल करें।

# Via PECL:
$ pecl install xdebug
# Via apt:
$ apt install php-xdebug
# Verify:
$ php -v | grep Xdebug

प्रोफाइलर सक्षम करना

प्रोफाइलिंग सक्षम करने के लिए php.ini में Xdebug को कॉन्फ़िगर करें।

# php.ini
[xdebug]
zend_extension=xdebug.so
xdebug.mode=profile
xdebug.output_dir=/tmp/xdebug
xdebug.profiler_output_name=cachegrind.out.%t

ट्रिगर-आधारित प्रोफाइलिंग

हर अनुरोध की प्रोफाइलिंग करने के बजाय, आवश्यकता पड़ने पर प्रोफाइलिंग के लिए ट्रिगर का उपयोग करें।

# php.ini
xdebug.mode=profile
xdebug.start_with_request=trigger

# Trigger via query parameter or cookie:
curl "https://example.com/?XDEBUG_PROFILE=1"

Callgrind आउटपुट

Xdebug एक cachegrind.out.* फ़ाइल लिखता है। इस प्रारूप को प्रोफाइलिंग विज़ुअलाइज़र पढ़ सकते हैं।

KCachegrind / QCachegrind से विश्लेषण

फ़ंक्शन कॉल संख्या, कुल समय, स्वयं का समय और कॉल ट्री देखने के लिए Callgrind फ़ाइल को KCachegrind (Linux) या QCachegrind (macOS/Windows) में खोलें।

WebGrind से विश्लेषण

WebGrind ब्राउज़र-आधारित Callgrind व्यूअर है — इसे डेस्कटॉप टूल की तुलना में सेट अप करना आसान है।

$ docker run -p 8080:80 jokkedk/webgrind -v /tmp/xdebug:/tmp

प्रोफाइलर आउटपुट पढ़ना

सबसे अधिक "समावेशी लागत" वाले फ़ंक्शन खोजें (कॉल किए गए फ़ंक्शन सहित कुल समय) और इसकी तुलना "स्व-लागत" से करें (केवल फ़ंक्शन के मुख्य भाग में लगा समय)। स्व-लागत वास्तविक बाधा को उजागर करती है।

मिली सामान्य प्रदर्शन बाधाएँ

आम निष्कर्षों में N+1 डेटाबेस क्वेरी, अक्षम रेगेक्स, अनावश्यक एपीआई कॉल, अनुकूलित न किए गए Eloquent संबंध और महँगा व्यू रेंडरिंग शामिल हैं।

प्रोफाइलिंग बनाम डीबगिंग

प्रोफाइलिंग प्रदर्शन को मापती है (समय, कॉल की संख्या)। डीबगिंग (Xdebug की एक अन्य सुविधा) कोड की जाँच के लिए ब्रेकपॉइंट पर निष्पादन रोकती है। अलग-अलग Xdebug मोड का उपयोग करें।

विकल्प के रूप में Blackfire

Blackfire.io एक व्यावसायिक प्रोफाइलिंग टूल है, जिसमें बेहतर यूआई, CI एकीकरण और प्रदर्शन संबंधी दावे हैं। टीम के वातावरण में कच्ची Xdebug प्रोफाइलिंग की तुलना में इसे प्राथमिकता दी जाती है।

सारांश

php.ini में Xdebug प्रोफाइलर मोड सक्षम करें, किसी अनुरोध को ट्रिगर करें और Callgrind फ़ाइल को KCachegrind या WebGrind में खोलें। बाधाओं को खोजने के लिए सबसे अधिक समावेशी और स्व-लागत वाले फ़ंक्शन पर ध्यान दें।

त्वरित जाँच

प्रोफाइलर रिपोर्ट में "स्व-लागत" का क्या अर्थ है?

शुरुआत निःशुल्क

एआई शिक्षक के साथ PHP सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
49
पाठ
195

अक्सर पूछे जाने वाले प्रश्न

क्या “Xdebug से PHP की प्रोफ़ाइलिंग” पाठ निःशुल्क है?

हाँ—“Xdebug से PHP की प्रोफ़ाइलिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Xdebug से PHP की प्रोफ़ाइलिंग” में मैं क्या सीखूँगा?

Xdebug प्रोफ़ाइलिंग सक्षम करें और धीमे फ़ंक्शन खोजने के लिए callgrind आउटपुट का विश्लेषण करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Xdebug से PHP की प्रोफ़ाइलिंग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Xdebug से PHP की प्रोफ़ाइलिंग
  2. OPcache: बाइटकोड कैशिंग
  3. डेटाबेस क्वेरी का अनुकूलन
  4. मेमोरी प्रबंधन और प्रदर्शन सुझाव
← PHP Academy पर वापस जाएँ