लेख निर्देशिका
- 1 1. php-fpm प्रक्रियाओं की संख्या सीमित करें
- 2 2. OPCache सक्षम करें (PHP प्रदर्शन को बेहतर बनाने के लिए)
- 3 3. PHP स्क्रिप्ट के अधिकतम निष्पादन समय को सीमित करें
- 4 4. MySQL धीमी क्वेरीज़ की जाँच करें
- 5 5. मेमकैच्ड संसाधन उपयोग को सीमित करें
- 6 6. स्थिर संसाधनों को कैश करने के लिए Nginx को सक्षम करें
- 7 7. वह PHP स्क्रिप्ट खोजें जो सबसे अधिक CPU का उपयोग करती है
- 8 सारांश: PHP-FPM को अनुकूलित करने के 7 तरीके
- 9 निष्कर्ष के तौर पर
हेस्टियासीपी सर्वर CPU में उछाल? PHP-FPM प्रक्रिया को अनुकूलित करने के लिए एक संपूर्ण गाइड!

क्या सर्वर CPU हमेशा 100% पर रहता है? पंखा बेतहाशा घूम रहा है? क्या वेबसाइट खुलने की गति धीमी हो रही है?इसका दोषी संभवतः php-fpm है!
मुझे हाल ही में पता चला chenweiliang.com यह PHP पूल php-fpm इस प्रक्रिया ने सीपीयू को बहुत अधिक खा लिया, और सर्वर क्रैश हो गया!
सर्वर को पुनर्जीवित करने के लिए, मैंने अनुकूलन विधियों की एक श्रृंखला की कोशिश की और अंततः सीपीयू उपयोग को कम करने में सफल रहा।
अब, आइये इसे साझा करें कुशल अनुकूलन गाइड!🚀
1. php-fpm प्रक्रियाओं की संख्या सीमित करें
php-fpm डिफ़ॉल्ट सेटिंग्स हो सकती हैंअसीमितयह प्रक्रिया अनियंत्रित रूप से निर्मित होती है, जिसके कारण सर्वर CPU ओवरलोड हो जाता है।
इसे अनुकूलित करने के लिए, हम प्रक्रिया प्रबंधन मापदंडों को संशोधित कर सकते हैं।
打开 php-fpm कॉन्फ़िगरेशन फ़ाइलें:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *अपने PHP संस्करण में परिवर्तन करें, जैसे कि PHP8.3, और इसे इस प्रकार बदलें:
/etc/php/8.3/fpm/pool.d/www.conf
HestiaCP द्वारा निर्धारित PHP संस्करण की क्वेरी करें
v-list-web-domain user domain.com
उदाहरण के लिए:
v-list-web-domain abc chenweiliang.com
आउटपुट में आपको कुछ इस तरह दिखेगा:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
इसका मतलब यह है कि वेबसाइट का उपयोग करता है PHP 8.3.
निम्नलिखित पैरामीटर्स का पता लगाएं और उन्हें संशोधित करें:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
फिर रीबूट करें php-fpm इसे प्रभावी बनाने के लिए:
sudo systemctl restart php-fpm
✅ प्रभाव: php-fpm को CPU संसाधनों का अधिक उपभोग करने से रोकने के लिए प्रक्रियाओं की संख्या सीमित करें।
2. OPCache सक्षम करें (PHP प्रदर्शन को बेहतर बनाने के लिए)
PHP हर बार कोड निष्पादित होने पर उसे पुनः पार्स करता है, जो संसाधनों की बर्बादी है।
समाधान? OPCache सक्षम करें और अपने PHP कोड को कैश करें!
编辑 php.ini दस्तावेज़:
sudo nano /etc/php/*/fpm/php.ini
निम्नलिखित जोड़ें या संशोधित करें:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
सहेजने के बाद, PHP प्रक्रिया पुनः प्रारंभ करें:
sudo systemctl restart php8.3-fpm
✅ प्रभाव: PHP कोड की बार-बार पार्सिंग को कम करें, CPU बोझ को कम करें, और निष्पादन दक्षता में सुधार करें।
3. PHP स्क्रिप्ट के अधिकतम निष्पादन समय को सीमित करें
यदि कोई PHP स्क्रिप्ट बहुत लंबे समय तक चलती है, तो CPU संसाधन लगातार व्यस्त रहेंगे।
एक उचित टाइमआउट अवधि निर्धारित करने से "जिद्दी" प्रक्रियाओं को लंबे समय तक सर्वर पर कब्जा करने से रोका जा सकता है।
打开 php.ini दस्तावेज़:
sudo nano /etc/php/*/fpm/php.ini
निम्नलिखित पैरामीटर संशोधित करें:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
फिर PHP प्रक्रिया पुनः प्रारंभ करें:
sudo systemctl restart php-fpm
✅ प्रभाव: PHP प्रक्रियाओं को लंबे समय तक चलने से रोकें और CPU संसाधन की बर्बादी को कम करें।
4. जांचें MySQL धीमी क्वेरी
PHP-FPM का लोड बहुत अधिक है,यह धीमी SQL क्वेरी के कारण हो सकता है!
开启 MySQL धीमी क्वेरी लॉग, उन SQL कथनों का पता लगाएं जो रोक रहे हैं।
MySQL कॉन्फ़िगरेशन फ़ाइल संपादित करें:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
स्रोत:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
सहेजने के बाद, MySQL पुनः प्रारंभ करें:
sudo systemctl restart mysql
फिर उपयोग करें mysqldumpslow धीमी क्वेरीज़ का विश्लेषण करें:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ प्रभाव: समय लेने वाली SQL क्वेरीज़ का पता लगाएं, डेटाबेस प्रदर्शन को अनुकूलित करें, और अप्रत्यक्ष रूप से PHP लोड को कम करें।
5. मेमकैच्ड संसाधन उपयोग को सीमित करें
प्रक्रिया सूची को देखते हुए, मैंने पाया मेमकैच्ड प्रक्रिया CPU उपयोग 24.8% है!
ऐसा हो सकता है कि कैश आबंटन बहुत बड़ा हो, जिसके कारण CPU को बड़ी मात्रा में डेटा संसाधित करना पड़ रहा हो।
调整 memcached विन्यास:
sudo nano /etc/memcached.conf
दोहराना:
-m 32 # 限制 Memcached 内存使用 32MB
फिर रीबूट करें:
sudo systemctl restart memcached
✅ प्रभाव: मेमकैच्ड प्रक्रिया के CPU बोझ को कम करें और कैश दक्षता में सुधार करें।
6. स्थिर संसाधनों को कैश करने के लिए Nginx को सक्षम करें
कई बार, PHP उन अनुरोधों को संसाधित करता है जिनमें बड़ी संख्या में शामिल होते हैं सीएसएस, जेएस, छवियाँ, लेकिन इन फ़ाइलों को PHP पार्सिंग की बिल्कुल भी आवश्यकता नहीं है!
समाधान? स्थैतिक संसाधनों को कैश करने के लिए Nginx का उपयोग करें!
Nginx कॉन्फ़िगरेशन संपादित करें:
sudo nano /etc/nginx/nginx.conf
स्रोत:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
सहेजने के बाद, Nginx को पुनः आरंभ करें:
sudo systemctl restart nginx
✅ प्रभाव: PHP द्वारा स्थैतिक फ़ाइलों को संसाधित करने की संख्या कम करें और CPU उपयोग को कम करें।
7. वह PHP स्क्रिप्ट खोजें जो सबसे अधिक CPU का उपयोग करती है
यदि अनुकूलन के बाद भी CPU बहुत अधिक है, तो हो सकता है कि कुछ PHP स्क्रिप्ट अनियंत्रित रूप से चल रही हों।
उच्चतम CPU उपयोग वाली PHP प्रक्रिया का पता लगाने के लिए निम्नलिखित कमांड का उपयोग करें:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
यदि आपको लगता है कि कोई PHP स्क्रिप्ट बहुत अधिक CPU ले रही है, तो आप उसे सीधे बंद कर सकते हैं:
kill -9 PID
✅ प्रभाव"खराब सेब" की सटीक पहचान करें और PHP प्रक्रिया को लंबे समय तक CPU पर कब्जा करने से रोकें।
सारांश: PHP-FPM को अनुकूलित करने के 7 तरीके
✅ PHP-FPM प्रक्रियाओं की संख्या सीमित करें, सीपीयू अधिभार को रोकने के लिए
✅ OPCache सक्षम करें, PHP कोड की बार-बार पार्सिंग को कम करें
✅ PHP टाइमआउट सेट करना, दीर्घकालिक संचालन को रोकने के लिए
✅ MySQL धीमी क्वेरीज़ की जाँच करना, डेटाबेस क्वेरी प्रदर्शन को अनुकूलित करें
✅ मेमकैच्ड मेमोरी समायोजित करें, सीपीयू बोझ को कम करना
✅ Nginx स्थैतिक कैश सक्षम करें, PHP पार्सिंग बोझ को कम करना
✅ उच्च CPU उपयोग वाली PHP स्क्रिप्ट खोजें, सटीक अनुकूलन
निष्कर्ष के तौर पर
सर्वर अनुकूलन फिटनेस की तरह है, आपको सटीक समायोजन करने की आवश्यकता है और इसमें कोई गड़बड़ी नहीं करनी है!
अनुकूलन की एक श्रृंखला के बाद, मेरे सर्वर CPU लोड में गिरावट आई है 80% से घटकर 15%, वेबसाइट दोगुनी तेजी से खुलती है!
यदि आपके सर्वर में भी ऐसी ही समस्या है, तो ये तरीके आज़माएँ! 💪
👉 अब कार्रवाई करो! अपने PHP-FPM को अनुकूलित करें और अपने सर्वर को बचाएं! 🚀
होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) ने साझा किया "HestiaCP php-fpm प्रक्रिया बहुत सारे CPU संसाधनों का उपयोग करती है, इसे कैसे अनुकूलित करें? ”, यह आपके लिए मददगार हो सकता है.
इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-32490.html
