Apache2 పనితీరు ఆప్టిమైజేషన్

చాలా మంది వ్యక్తులు apache2ని వెబ్ సర్వర్‌గా ఉపయోగిస్తున్నారు. అయినప్పటికీ, కొంతమంది వ్యక్తులు దాని పనితీరును ఆప్టిమైజ్ చేయడం గురించి ఆలోచిస్తారు, ఇది సైట్ పేజీల లోడింగ్ వేగం, ప్రాసెసింగ్ స్క్రిప్ట్‌ల వేగం (ముఖ్యంగా php), అలాగే CPU లోడ్ పెరుగుదల మరియు ఉపయోగించిన RAM మొత్తంలో పెరుగుదలను నేరుగా ప్రభావితం చేస్తుంది.

అందువల్ల, కింది మాన్యువల్ ప్రారంభకులకు (మరియు మాత్రమే కాదు) వినియోగదారులకు సహాయం చేస్తుంది.
దిగువన ఉన్న అన్ని ఉదాహరణలు రాస్ప్బెర్రీ PI 3, Debian 9, Apache 2.4.38, PHP 7.3లో ఉపయోగించబడ్డాయి.

కాబట్టి, ప్రారంభించండి.

1. ఉపయోగించని మాడ్యూళ్లను నిలిపివేయడం

మీరు ఉపయోగించని మాడ్యూళ్లను నిలిపివేయడం మొదటి పద్ధతి:

ప్రస్తుతం ఉపయోగించిన మాడ్యూళ్ల జాబితాను ఆదేశంతో చూడవచ్చు:

apache2ctl -M

మాడ్యూల్‌ను నిలిపివేయడానికి, ఆదేశాన్ని ఉపయోగించండి:

a2dismod *название модуля*

దీని ప్రకారం, మాడ్యూల్‌ను ప్రారంభించడానికి, ఆదేశాన్ని ఉపయోగించండి:

a2enmod *название модуля*

ఉపయోగిస్తున్నప్పుడు దయచేసి గమనించండి a2 dismod, మాడ్యూల్ అనే పదం లేకుండానే మాడ్యూల్ పేరు తప్పనిసరిగా రాయాలి.

ఉదాహరణకు, మీరు కమాండ్ అవుట్‌పుట్‌లో ఉంటే apache2ctl -M రంపపు ప్రాక్సీ_మాడ్యూల్, దానిని నిలిపివేయడానికి మీరు ఆదేశాన్ని ఉపయోగించాలి - a2dismod ప్రాక్సీ

సిస్టమ్‌ను ఎక్కువగా లోడ్ చేసే మాడ్యూల్స్ (వ్యక్తిగత అనుభవం నుండి):

  • వివిధ స్క్రిప్టింగ్ భాషల కోసం PHP, రూబీ, పెర్ల్ మరియు ఇతర మాడ్యూల్స్
  • SSL
  • రాయాలని
  • CGI

కాబట్టి మీకు ఈ మాడ్యూల్స్ అవసరం లేని సందర్భాలలో, ఈ మాడ్యూళ్ళను నిలిపివేయమని నేను సిఫార్సు చేస్తున్నాను.

అలాగే, ఏదైనా మాడ్యూల్‌ని డిసేబుల్ చేసిన తర్వాత, ఆదేశాన్ని ఉపయోగించమని నేను సిఫార్సు చేస్తున్నాను - apache2ctl configtest, ఇది ఉపయోగించిన సైట్‌ల కాన్ఫిగరేషన్‌ను తనిఖీ చేస్తుంది మరియు ఏదైనా డిసేబుల్ మాడ్యూల్‌లు వాటికి అవసరమైతే, అది లోపాన్ని సృష్టిస్తుంది.

2. MPM (మల్టీ-ప్రాసెసింగ్ మాడ్యూల్) మార్చడం మరియు php-fpm ఉపయోగించడం

డిఫాల్ట్‌గా, ఇన్‌స్టాలేషన్ తర్వాత, apache2 MPM Prefork (1 కనెక్షన్‌కు 1 థ్రెడ్)ని ఉపయోగిస్తుంది, ఇది పనితీరును గణనీయంగా తగ్గిస్తుంది, కానీ అదే సమయంలో స్థిరత్వం మరియు భద్రతను మెరుగుపరుస్తుంది.

కానీ పనితీరును ఆప్టిమైజ్ చేయడానికి, MPM వర్కర్‌ని ఉపయోగించమని నేను సిఫార్సు చేస్తున్నాను, ఇది ప్రతి కనెక్షన్‌కు బహుళ థ్రెడ్‌లను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది.

దీన్ని ప్రారంభించడానికి మేము ఈ క్రింది ఆదేశాలను ఉపయోగిస్తాము:

a2dismod mpm_prefork  //Отключаем prefork
a2dismod php7.3  //Отключаем модуль php, который зависит от prefork
a2enmod mpm_worker  //Включаем worker

అయితే, వర్కర్‌ని ఉపయోగిస్తున్నప్పుడు మీరు సమస్యను ఎదుర్కోవచ్చు ఎందుకంటే... php7.3 మాడ్యూల్ ప్రీఫోర్క్ మాడ్యూల్‌పై ఆధారపడి ఉంటుంది.

ఈ సమస్యను పరిష్కరించడానికి, PHP స్క్రిప్ట్‌లను అమలు చేయడానికి ఉపయోగించే php7.3-fpm మాడ్యూల్‌ను ఇన్‌స్టాల్ చేద్దాం:

apt-get update && apt-get install php7.3-fpm  //Устанавливаем
systemctl enable php7.3-fpm && systemctl start php7.3-fpm  //Добавляем в автозагрузку и запускаем
a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf  //Включаем модуль и конфиг для него

php-fpmని ఉపయోగించడం వలన apache2 ప్రాసెస్‌లో ఉపయోగించే RAM మొత్తం తగ్గిపోతుంది మరియు PHP స్క్రిప్ట్‌ల ప్రాసెసింగ్‌ను కొద్దిగా వేగవంతం చేస్తుంది.

3. ముగింపు

అందువల్ల, అటువంటి సాధారణ చర్యలతో మేము పనితీరును ఆప్టిమైజ్ చేయగలిగాము మరియు మెషీన్‌పై లోడ్‌ను తగ్గించగలిగాము (ఈ సందర్భంలో RPI3).

అయితే, కుదింపును ప్రారంభించడం (ఇది నిజంగా ఉపయోగకరంగా ఉంటుంది, కానీ చాలా వరకు ఇప్పటికే డిఫాల్ట్‌గా ప్రారంభించబడ్డాయి), MPM సెట్టింగ్‌లను మార్చడం (కాన్ఫిగరేషన్ ఫైల్‌లు), హోస్ట్‌నేమ్‌లుకప్‌లను నిలిపివేయడం మొదలైన వందల ఇతర ఆప్టిమైజేషన్ ఎంపికలు ఉన్నాయి, కానీ ఈ వ్యాసంలో నేను ప్రయత్నించాను ఇవి నాకు బాగా సహాయపడిన పాయింట్‌లను ప్రతిబింబిస్తాయి మరియు ఇతరులకు సహాయపడతాయని ఆశిస్తున్నాను.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి