"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP दक्षता को बढ़ावा देना: प्रदर्शन अनुकूलन के लिए सिद्ध तकनीकें

PHP दक्षता को बढ़ावा देना: प्रदर्शन अनुकूलन के लिए सिद्ध तकनीकें

2024-11-08 को प्रकाशित
ब्राउज़ करें:592

Boosting PHP Efficiency: Proven Techniques for Performance Optimization

PHP प्रदर्शन को अनुकूलित करने से यह सुनिश्चित होता है कि हमारे वेब एप्लिकेशन सुचारू रूप से चलते हैं, त्वरित प्रतिक्रिया देते हैं और ट्रैफ़िक को कुशलतापूर्वक संभालते हैं। नीचे प्रत्येक अनुकूलन रणनीति के लिए व्यावहारिक उदाहरणों के साथ PHP प्रदर्शन को प्रभावी ढंग से अधिकतम करने के बारे में एक विस्तृत, चरण-दर-चरण मार्गदर्शिका दी गई है।


भाग 1: नवीनतम स्थिर PHP संस्करण में अद्यतन करें

चरण 1: वर्तमान PHP संस्करण की जाँच करें

अपने सिस्टम पर स्थापित PHP के वर्तमान संस्करण की जांच करके प्रारंभ करें:

php -v

यदि आपका संस्करण पुराना है, तो नवीनतम स्थिर PHP संस्करण में अपग्रेड करना अक्सर प्रदर्शन सुधार और नई सुविधाओं के साथ आता है।

चरण 2: PHP को अपग्रेड करें (यदि आवश्यक हो)

नवीनतम PHP संस्करण स्थापित करने के लिए, उबंटू के लिए निम्नलिखित कमांड चलाएँ:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.2 # Replace with the latest version

क्यों?

प्रत्येक नया PHP संस्करण प्रदर्शन में वृद्धि लाता है। उदाहरण के लिए, PHP 7.x, PHP 5.x की तुलना में निष्पादन समय में लगभग 50% सुधार प्रदान करता है, और PHP 8.x में और भी महत्वपूर्ण सुधार हैं।


भाग 2: ओपकोड कैशिंग (PHP Opcache) का उपयोग करें

चरण 1: PHP में Opcache सक्षम करें

Opcache मेमोरी में पूर्व-संकलित स्क्रिप्ट बाइटकोड को संग्रहीत करता है, जिससे प्रत्येक अनुरोध पर स्क्रिप्ट को लोड करने और पार्स करने के लिए PHP की आवश्यकता कम हो जाती है। इसे सक्षम करने के लिए:

  1. अपनी php.ini फ़ाइल खोलें:
   sudo nano /etc/php/8.2/fpm/php.ini # Use your PHP version
  1. Opcache सेटिंग्स ढूंढें और इसे सक्षम करें:
   opcache.enable=1
   opcache.memory_consumption=128
   opcache.max_accelerated_files=10000
   opcache.revalidate_freq=0
  1. PHP-FPM और Nginx को पुनरारंभ करें:
   sudo systemctl restart php8.2-fpm
   sudo systemctl restart nginx

क्यों?

Opcache प्रत्येक अनुरोध पर PHP कोड को संकलित करने की आवश्यकता को समाप्त करके, CPU उपयोग और अनुरोध समय को काफी कम करके प्रदर्शन में काफी सुधार कर सकता है।


भाग 3: डेटाबेस क्वेरीज़ को अनुकूलित करें

चरण 1: अपनी डेटाबेस तालिकाओं को अनुक्रमित करें

अनुचित डेटाबेस अनुक्रमण क्वेरी निष्पादन को धीमा कर सकता है। सुनिश्चित करें कि आप WHERE क्लॉज में या सॉर्टिंग के लिए उपयोग किए जाने वाले इंडेक्स कॉलम का उपयोग करें।

उदाहरण MySQL क्वेरी:

CREATE INDEX idx_user_email ON users(email);

चरण 2: क्वेरी प्रोफ़ाइलिंग का उपयोग करें

बाधाओं का पता लगाने के लिए अपने डेटाबेस प्रश्नों को प्रोफाइल करें। उदाहरण के लिए, लारवेल का एलोक्वेंट ओआरएम, क्वेरी प्रोफाइलिंग की अनुमति देता है:

DB::enableQueryLog();
$users = DB::table('users')->get();
dd(DB::getQueryLog());

क्यों?

अपने डेटाबेस प्रश्नों को अनुकूलित करके और महत्वपूर्ण कॉलमों को अनुक्रमित करके, आप क्वेरी निष्पादन समय को काफी कम कर सकते हैं, इस प्रकार आपके PHP एप्लिकेशन को तेज़ कर सकते हैं।


भाग 4: Gzip संपीड़न सक्षम करें

चरण 1: Nginx में Gzip सक्षम करें

Gzip आपके सर्वर से क्लाइंट को भेजे गए डेटा के आकार को कम कर देता है, जिससे पेज तेजी से लोड होता है। इसे Nginx में सक्षम करने के लिए:

  1. Nginx कॉन्फ़िग फ़ाइल खोलें:
   sudo nano /etc/nginx/nginx.conf
  1. निम्न Gzip सेटिंग्स जोड़ें:
   gzip on;
   gzip_comp_level 2;
   gzip_types text/css application/javascript application/json image/svg xml;
   gzip_min_length 256;
  1. Nginx को सहेजें और पुनरारंभ करें:
   sudo systemctl restart nginx

क्यों?

जीज़िप संपीड़न को सक्षम करने से स्थानांतरित किए जाने वाले डेटा की मात्रा कम हो जाती है, जिसके परिणामस्वरूप पेज लोड समय तेज हो जाता है और बैंडविड्थ उपयोग कम हो जाता है।


भाग 5: सामग्री वितरण नेटवर्क (सीडीएन) का उपयोग करें

चरण 1: स्टेटिक एसेट्स के लिए एक सीडीएन कॉन्फ़िगर करें

क्लाउडफ्लेयर या अमेज़ॅन क्लाउडफ्रंट जैसे सीडीएन दुनिया भर में वितरित सर्वर पर सीएसएस, जावास्क्रिप्ट और छवियों जैसी स्थिर संपत्तियों की प्रतियां संग्रहीत करते हैं, जिससे वे उपयोगकर्ता के करीब उपलब्ध हो जाते हैं।

उदाहरण:


क्यों?

स्थैतिक सामग्री को सीडीएन पर लोड करके, आप अपने सर्वर पर लोड कम करते हैं और दुनिया भर के उपयोगकर्ताओं के लिए प्रतिक्रिया समय में काफी सुधार करते हैं।


भाग 6: PHP-FPM और ट्यूनिंग का उपयोग करें

चरण 1: PHP-FPM स्थापित और कॉन्फ़िगर करें

सुनिश्चित करें कि आप PHP-FPM (FastCGI प्रोसेस मैनेजर) का उपयोग कर रहे हैं, जो उच्च-लोड वातावरण के लिए बेहतर अनुकूलित है:

sudo apt install php8.2-fpm

चरण 2: PHP-FPM सेटिंग्स को ट्यून करें

आप PHP-FPM पूल कॉन्फ़िगरेशन फ़ाइल में pm.max_children, pm.start_servers, pm.min_spare_servers, और pm.max_spare_servers सेटिंग्स को समायोजित करके अधिक अनुरोधों को कुशलतापूर्वक संभालने के लिए PHP-FPM सेटिंग्स को ट्यून कर सकते हैं।

पूल कॉन्फ़िगरेशन फ़ाइल संपादित करें:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

उपलब्ध मेमोरी और ट्रैफ़िक के आधार पर pm.max_children बढ़ाएँ:

pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

PHP-FPM और Nginx को पुनरारंभ करें:

sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx

क्यों?

PHP-FPM आपकी PHP प्रक्रियाओं को अधिक समवर्ती अनुरोधों को कुशलतापूर्वक संभालने की अनुमति देता है, जिससे भारी लोड के तहत सर्वर प्रतिक्रिया समय कम हो जाता है।


भाग 7: संपत्तियों को छोटा और बंडल करें

चरण 1: सीएसएस, जावास्क्रिप्ट और HTML को छोटा करें

अनावश्यक रिक्त स्थान और टिप्पणियों को हटाकर आपकी सीएसएस, जावास्क्रिप्ट और HTML फ़ाइलों को छोटा करने से फ़ाइल का आकार कम हो जाता है।

लारवेल मिक्स या गल्प जैसे टूल का उपयोग करें:

npm install laravel-mix --save-dev

लारवेल के लिए उदाहरण वेबपैक.मिक्स.जेएस फ़ाइल:

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css')
    .minify('public/js/app.js')
    .minify('public/css/app.css');

चरण 2: ब्राउज़र कैशिंग सक्षम करें

अपनी Nginx कॉन्फ़िगरेशन फ़ाइल में, स्थिर संपत्तियों के लिए कैशिंग जोड़ें:

location ~* \.(css|js|jpg|jpeg|png|gif|ico|woff|woff2)$ {
    expires 1y;
    access_log off;
    add_header Cache-Control "public";
}

क्यों?

ब्राउज़र कैशिंग को सक्षम करने के साथ-साथ संपत्तियों को छोटा और बंडल करने से आपकी फ़ाइलों का आकार कम हो जाता है और लोड समय कम हो जाता है, जिससे एप्लिकेशन तेज़ हो जाता है।


भाग 8: कैशिंग के लिए रेडिस या मेम्केच्ड का उपयोग करें

चरण 1: रेडिस स्थापित करें

रेडिस स्थापित करने के लिए:

sudo apt install redis-server

चरण 2: रेडिस का उपयोग करने के लिए लारवेल को कॉन्फ़िगर करें

लारवेल में, .env फ़ाइल खोलें और Redis को कैश ड्राइवर के रूप में कॉन्फ़िगर करें:

CACHE_DRIVER=redis

चरण 3: डेटाबेस क्वेरीज़ को कैशिंग करना

बार-बार डेटाबेस क्वेरीज़ को तेज़ करने के लिए क्वेरी कैशिंग का उपयोग करें:

$users = Cache::remember('users', 60, function() {
    return DB::table('users')->get();
});

क्यों?

डेटाबेस क्वेरीज़ को कैशिंग करके, आप डेटाबेस लोड को कम करते हैं और बार-बार एक्सेस किए गए डेटा के लिए प्रतिक्रिया समय में काफी सुधार करते हैं।


भाग 9: ऑटोलोडर्स को अनुकूलित करें

चरण 1: संगीतकार के ऑटोलोडर अनुकूलन का उपयोग करें

उत्पादन के लिए कंपोज़र ऑटोलोडर्स को अनुकूलित करें:

composer install --optimize-autoloader --no-dev

चरण 2: अप्रयुक्त सेवा प्रदाताओं को साफ़ करें

लारवेल में, मेमोरी उपयोग को कम करने और एप्लिकेशन बूट समय को तेज करने के लिए config/app.php में किसी भी अप्रयुक्त सेवा प्रदाता को अक्षम करें।

क्यों?

ऑटोलोड ऑप्टिमाइज़ेशन क्लास मैप को संकलित करता है, जिससे क्लास लोडिंग तेज़ हो जाती है। अप्रयुक्त सेवाओं को अक्षम करने से एप्लिकेशन को कम संसाधनों का उपयोग करने में मदद मिलती है।


भाग 10: निगरानी और प्रोफ़ाइलिंग

चरण 1: लारवेल टेलीस्कोप (या अन्य प्रोफाइलिंग टूल) का उपयोग करें

अपने एप्लिकेशन को प्रोफाइल करने के लिए लारवेल टेलीस्कोप स्थापित करें:

composer require laravel/telescope
php artisan telescope:install
php artisan migrate
php artisan serve

चरण 2: उन्नत प्रोफ़ाइलिंग के लिए नए अवशेष या ब्लैकफ़ायर का उपयोग करें

आप एप्लिकेशन बाधाओं, डेटाबेस प्रदर्शन और अधिक का विश्लेषण करने के लिए न्यू रेलिक या ब्लैकफ़ायर जैसे तृतीय-पक्ष टूल को एकीकृत कर सकते हैं।

क्यों?

निगरानी और प्रोफाइलिंग उपकरण आपके PHP एप्लिकेशन में धीमी क्वेरी, मेमोरी लीक और बाधाओं की पहचान करने में मदद करते हैं, जिससे आप प्रदर्शन समस्याओं को सक्रिय रूप से ठीक कर सकते हैं।


निष्कर्ष:

इन चरणों का पालन करके, आप अपने PHP एप्लिकेशन के प्रदर्शन में उल्लेखनीय सुधार कर सकते हैं। PHP को अपडेट करने और ओपकोड कैशिंग को सक्षम करने से लेकर डेटाबेस क्वेरीज़ को अनुकूलित करने और PHP-FPM को कॉन्फ़िगर करने तक, प्रत्येक चरण अधिक प्रतिक्रियाशील और स्केलेबल एप्लिकेशन में योगदान देता है।

विज्ञप्ति वक्तव्य इस लेख को पुन: पेश किया गया है: https://dev.to/mdarifulhaque/boosting-php-php-efiessiess-techniques-techniques-terformance-iptimization-4plh?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3