HestiaCP php-fpm प्रक्रियाले धेरै CPU स्रोतहरू लिन्छ। म यसलाई कसरी अप्टिमाइज गर्न सक्छु?

HestiaCP सर्भर CPU मा वृद्धि? PHP-FPM प्रक्रियालाई अनुकूलन गर्ने पूर्ण गाइड!

HestiaCP php-fpm प्रक्रियाले धेरै CPU स्रोतहरू लिन्छ। म यसलाई कसरी अप्टिमाइज गर्न सक्छु?

के सर्भरको CPU सधैं १००% मा हुन्छ? पङ्खा बेस्सरी घुमिरहेको छ? के वेबसाइट खोल्ने गति सुस्त हुँदैछ?अपराधी php-fpm हुन सक्छ!

मैले भर्खरै पत्ता लगाएँ chenweiliang.com यो PHP पूल php-fpm प्रक्रियाले CPU लाई पागल जस्तै खायो, र सर्भर क्र्यास भयो!

सर्भरलाई पुनरुत्थान गर्न, मैले अनुकूलन विधिहरूको एक श्रृंखला प्रयास गरें र अन्ततः CPU प्रयोग घटाउन सफल भएँ।

अब, यो साझा गरौं कुशल अनुकूलन गाइड! 🚀

१. 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 स्रोतहरू अत्यधिक खपत गर्नबाट रोक्न प्रक्रियाहरूको संख्या सीमित गर्नुहोस्।

२. 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 बोझ घटाउनुहोस्, र कार्यान्वयन दक्षता सुधार गर्नुहोस्।

३. PHP स्क्रिप्टहरूको अधिकतम कार्यान्वयन समय सीमित गर्नुहोस्

यदि PHP स्क्रिप्ट धेरै लामो समयसम्म चल्यो भने, CPU स्रोतहरू निरन्तर ओगट्नेछन्।
उचित टाइमआउट अवधि सेट गर्नाले "जिद्दी" प्रक्रियाहरूलाई लामो समयसम्म सर्भरमा बस्नबाट रोक्न सकिन्छ।

सफलता php.ini कागजात:

sudo nano /etc/php/*/fpm/php.ini

निम्न प्यारामिटरहरू परिमार्जन गर्नुहोस्:

max_execution_time = 30  # PHP 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_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 लोड घटाउनुहोस्।

५. मेमक्यास्ड स्रोतको प्रयोग सीमित गर्नुहोस्

प्रक्रिया सूची हेर्दा, मैले फेला पारेँ मेमक्याच गरिएको प्रक्रियाको CPU उपयोग २४.८% छ!
यो हुन सक्छ कि क्यास आवंटन धेरै ठूलो छ, जसले गर्दा CPU ले ठूलो मात्रामा डेटा प्रशोधन गर्नुपरेको छ।

समायोजन memcached कन्फिगरेसन:

sudo nano /etc/memcached.conf

संशोधन:

-m 32  # 限制 Memcached 内存使用 32MB

त्यसपछि रिबुट गर्नुहोस्:

sudo systemctl restart memcached

प्रभाव: मेमक्याच प्रक्रियाको CPU बोझ घटाउनुहोस् र क्यास दक्षता सुधार गर्नुहोस्।

६. स्थिर स्रोतहरू क्यास गर्न Nginx सक्षम गर्नुहोस्

धेरै पटक, PHP ले ठूलो संख्यामा भएका अनुरोधहरूलाई प्रशोधन गर्छ CSS, JS, छविहरू, तर यी फाइलहरूलाई 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 प्रयोग घटाउनुहोस्।

७. सबैभन्दा धेरै CPU प्रयोग गर्ने PHP स्क्रिप्ट फेला पार्नुहोस्

यदि अप्टिमाइजेसन पछि पनि CPU धेरै उच्च छ भने, यो हुन सक्छ कि केहि PHP स्क्रिप्टहरू जथाभावी चलिरहेका छन्।
उच्चतम CPU प्रयोग भएको PHP प्रक्रिया पत्ता लगाउन निम्न आदेश प्रयोग गर्नुहोस्:

ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php

यदि तपाईंले PHP स्क्रिप्टले धेरै CPU लिइरहेको पाउनुभयो भने, तपाईं यसलाई सिधै बन्द गर्न सक्नुहुन्छ:

kill -9 PID

प्रभाव: "खराब स्याउहरू" लाई सही रूपमा पहिचान गर्नुहोस् र PHP प्रक्रियालाई लामो समयसम्म CPU मा रहनबाट रोक्नुहोस्।

सारांश: PHP-FPM लाई अनुकूलन गर्ने ७ तरिकाहरू

PHP-FPM प्रक्रियाहरूको संख्या सीमित गर्नुहोस्, CPU ओभरलोड रोक्नको लागि
OPCache सक्षम पार्नुहोस्, PHP कोडको बारम्बार पार्सिङ घटाउनुहोस्
PHP टाइमआउट सेट गर्दै, दीर्घकालीन सञ्चालन रोक्नको लागि
MySQL ढिलो प्रश्नहरू जाँच गर्दै, डाटाबेस क्वेरी कार्यसम्पादनलाई अनुकूलन गर्नुहोस्
मेमक्यास गरिएको मेमोरी समायोजन गर्नुहोस्, CPU बोझ घटाउँदै
Nginx स्थिर क्यास सक्षम गर्नुहोस्, PHP पार्सिङ बोझ घटाउँदै
उच्च CPU उपयोग PHP स्क्रिप्टहरू फेला पार्नुहोस्, सटीक अनुकूलन

निश्कर्षमा

सर्भर अप्टिमाइजेसन फिटनेस जस्तै हो, तपाईंले सटीक समायोजन गर्नुपर्छ र गडबड गर्नु हुँदैन!
अनुकूलनको श्रृंखला पछि, मेरो सर्भर CPU लोड घटेको छ ८०% घटेर १५% भयो, वेबसाइट दोब्बर छिटो खुल्छ!
यदि तपाईंको सर्भरमा पनि यस्तै समस्याहरू छन् भने, यी विधिहरू प्रयास गर्नुहोस्! 💪

???? अब कारबाही गर्नुहोस्! आफ्नो PHP-FPM अप्टिमाइज गर्नुहोस् र आफ्नो सर्भर बचत गर्नुहोस्! 🚀

आशा चेन वेइलियाङ ब्लग ( https://www.chenweiliang.com/ ) साझा गरिएको "HestiaCP php-fpm प्रक्रियाले धेरै CPU स्रोतहरू लिन्छ, यसलाई कसरी अनुकूलन गर्ने? ", यो तपाईंलाई उपयोगी हुन सक्छ।

यस लेखको लिङ्क साझा गर्न स्वागत छ:https://www.chenweiliang.com/cwl-32490.html

थप लुकेका चालहरू अनलक गर्न🔑, हाम्रो टेलिग्राम च्यानलमा सामेल हुन स्वागत छ!

मन परे लाइक र सेयर गर्नुहोस ! तपाईको सेयर र लाइक हाम्रो निरन्तर प्रेरणा हो!

 

评论 评论

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवाश्यक फिल्डहरू प्रयोग भएको छ * लेबल

माथि स्क्रोल गर्नुहोस्