Apache2 செயல்திறன் தேர்வுமுறை

பலர் apache2 ஐ இணைய சேவையகமாகப் பயன்படுத்துகின்றனர். இருப்பினும், அதன் செயல்திறனை மேம்படுத்துவது பற்றி சிலர் சிந்திக்கிறார்கள், இது தள பக்கங்களின் ஏற்றுதல் வேகம், செயலாக்க ஸ்கிரிப்ட்களின் வேகம் (குறிப்பாக php), அத்துடன் CPU சுமை அதிகரிப்பு மற்றும் பயன்படுத்தப்படும் ரேமின் அளவு அதிகரிப்பு ஆகியவற்றை நேரடியாகப் பாதிக்கிறது.

எனவே, பின்வரும் கையேடு ஆரம்ப (மற்றும் மட்டும்) பயனர்களுக்கு உதவ வேண்டும்.
கீழே உள்ள அனைத்து எடுத்துக்காட்டுகளும் Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3 இல் பயன்படுத்தப்பட்டன.

எனவே, தொடங்குவோம்.

1. பயன்படுத்தப்படாத தொகுதிகளை முடக்குதல்

நீங்கள் பயன்படுத்தாத தொகுதிகளை முடக்குவதே முதல் முறை:

தற்போது பயன்படுத்தப்படும் தொகுதிகளின் பட்டியலை கட்டளையுடன் பார்க்கலாம்:

apache2ctl -M

தொகுதியை முடக்க, கட்டளையைப் பயன்படுத்தவும்:

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

அதன்படி, தொகுதியை இயக்க, கட்டளையைப் பயன்படுத்தவும்:

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

பயன்படுத்தும் போது கவனிக்கவும் a2dismod, தொகுதியின் பெயர் தொகுதி என்ற சொல் இல்லாமல் எழுதப்பட வேண்டும்.

உதாரணமாக, நீங்கள் கட்டளையின் வெளியீட்டில் இருந்தால் apache2ctl -எம் பார்த்தேன் ப்ராக்ஸி_தொகுதி, பின்னர் அதை முடக்க நீங்கள் கட்டளையைப் பயன்படுத்த வேண்டும் - a2dismod ப்ராக்ஸி

கணினியை அதிகமாக ஏற்றும் தொகுதிகள் (தனிப்பட்ட அனுபவத்திலிருந்து):

  • PHP, ரூபி, பெர்ல் மற்றும் பல்வேறு ஸ்கிரிப்டிங் மொழிகளுக்கான பிற தொகுதிகள்
  • SSL ஐ
  • மாற்றியமைத்தன
  • , CGI

எனவே உங்களுக்கு இந்த தொகுதிகள் தேவைப்படாத சந்தர்ப்பங்களில், இந்த தொகுதிகளை முடக்க பரிந்துரைக்கிறேன்.

மேலும், எந்த தொகுதியையும் முடக்கிய பிறகு, கட்டளையைப் பயன்படுத்த பரிந்துரைக்கிறேன் - apache2ctl configtest, இது பயன்படுத்தப்படும் தளங்களின் உள்ளமைவைச் சரிபார்க்கும் மற்றும் முடக்கப்பட்ட தொகுதிகள் ஏதேனும் அவற்றுக்கு அவசியமானால், அது பிழையை உருவாக்கும்.

2. MPM (மல்டி-பிராசசிங் மாட்யூல்) மாற்றுதல் மற்றும் php-fpm ஐப் பயன்படுத்துதல்

முன்னிருப்பாக, நிறுவலுக்குப் பிறகு, apache2 MPM Prefork ஐப் பயன்படுத்துகிறது (1 இணைப்புக்கு 1 நூல்), இது செயல்திறனைக் கணிசமாகக் குறைக்கிறது, ஆனால் அதே நேரத்தில் நிலைத்தன்மையையும் பாதுகாப்பையும் மேம்படுத்துகிறது.

ஆனால் செயல்திறனை மேம்படுத்த, MPM Worker ஐப் பயன்படுத்த பரிந்துரைக்கிறேன், இது ஒரு இணைப்புக்கு பல நூல்களைப் பயன்படுத்த அனுமதிக்கிறது.

அதை இயக்க, பின்வரும் கட்டளைகளைப் பயன்படுத்துகிறோம்:

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

இருப்பினும், பணியாளரைப் பயன்படுத்தும் போது நீங்கள் ஒரு சிக்கலைச் சந்திக்கலாம், ஏனெனில்... php7.3 தொகுதி Prefork தொகுதியைச் சார்ந்தது.

இந்தச் சிக்கலைத் தீர்க்க, 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 செயல்முறையால் பயன்படுத்தப்படும் ரேமின் அளவைக் குறைக்கும் மற்றும் PHP ஸ்கிரிப்ட்களின் செயலாக்கத்தை சற்று வேகப்படுத்தும் என்பது குறிப்பிடத்தக்கது.

3. முடிவுக்கு

எனவே, இதுபோன்ற எளிய செயல்களால் செயல்திறனை மேம்படுத்தவும், இயந்திரத்தின் சுமையை குறைக்கவும் முடிந்தது (இந்த விஷயத்தில் RPI3).

நிச்சயமாக, சுருக்கத்தை இயக்குதல் (இது மிகவும் பயனுள்ளது, ஆனால் பெரும்பாலானவை ஏற்கனவே இயல்பாகவே இயக்கப்பட்டுள்ளன), MPM அமைப்புகளை மாற்றுதல் (உள்ளமைவு கோப்புகள்), HostnameLookups போன்றவற்றை முடக்குதல் போன்ற நூற்றுக்கணக்கான பிற தேர்வுமுறை விருப்பங்கள் உள்ளன, ஆனால் இந்த கட்டுரையில் நான் முயற்சித்தேன். இவை எனக்கு மிகவும் உதவிய புள்ளிகள், மற்றவர்களுக்கு உதவும் என்று நம்புகிறேன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்