Nginx vs Apache: தலைக்கு தலை ஒப்பீடு & எப்படி தேர்வு செய்வது

புதுப்பிக்கப்பட்டது: 2022-04-19 / கட்டுரை: திமோதி ஷிம்

இரண்டு nginx மற்றும் அப்பாச்சி செழுமையான அம்சத் தொகுப்புகள் மற்றும் உயர் செயல்திறன் கொண்ட முதிர்ந்த தயாரிப்புகள். அவை பொதுவான திறந்த மூல மூலங்களைப் பகிர்ந்து கொள்கின்றன, மேலும் நீங்கள் அவற்றை விண்டோஸ் அல்லது லினக்ஸ் சேவையகங்களில் பயன்படுத்தலாம். 

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

எடுத்துக்காட்டாக, அப்பாச்சி என்பது பல்வேறு தொழில்நுட்பங்கள் மற்றும் தொகுதிகளுக்கு வெளியே இருக்கும் ஒரு விரிவான தீர்வாகும். மாறாக, Nginx அதன் செயல்பாட்டை விரிவாக்க மூன்றாம் தரப்பு தொகுதிகளை நம்பியுள்ளது.

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

அப்பாச்சி - அசல் ஹீரோ வலை சேவையகம்

அப்பாச்சி

1995 இல் உருவாக்கப்பட்டது ராபர்ட் மெக்கூல் மற்றும் முதலில் "Apache HTTP சர்வர் ப்ராஜெக்ட்" (அதனால் பெயர்) என்று அழைக்கப்பட்டது, Apache ஆனது ஒரு வலுவான, வணிக-தர சேவையகத்தை உருவாக்க வடிவமைக்கப்பட்டுள்ளது, இது மாற்றங்களுடன் கூட பயன்படுத்த இலவசம். இது யுனிக்ஸ் முதல் விண்டோஸ் வரை பல்வேறு இயங்குதளங்களில் இயங்கக்கூடியது என்பதால் மிக விரைவாக பிரபலமடைந்தது.

இந்த நீண்டகால பிரபலத்தின் காரணமாக, அப்பாச்சியை "ஒரிஜினல் ஹீரோ" வெப் சர்வர் என்று நான் கருதுகிறேன். இது உறுதியானது, நன்கு ஆவணப்படுத்தப்பட்டது மற்றும் அப்பாச்சி மென்பொருள் அறக்கட்டளையின் கீழ் உள்ள டெவலப்பர்களின் திறந்த சமூகத்தால் ஆதரிக்கப்படுகிறது.

Nginx - ஒரு புதிய சகாப்தத்தின் டைட்டன்

nginx

Nginx ("இன்ஜின் எக்ஸ்" என உச்சரிக்கப்படுகிறது) என்பது ஒரு HTTP மற்றும் ரிவர்ஸ் ப்ராக்ஸி சர்வர், ஒரு மெயில் ப்ராக்ஸி சர்வர் மற்றும் அனைத்து அளவுகளின் இணையதளங்களையும் பயன்பாடுகளையும் ஹோஸ்ட் செய்யப் பயன்படுத்தப்படும் பொதுவான TCP/UDP ப்ராக்ஸி சர்வர் ஆகும். இது முதலில் ரஷ்ய டெவலப்பரால் பகிரங்கமாக வெளியிடப்பட்டது இகோர் சிசோவ். Nginx இன் ஆரம்ப இலக்கு C10K சிக்கலைத் தீர்ப்பது, அப்பாச்சி நிர்வகிக்க போராடியது. 

மேலும் வாசிக்க

Nginx & Apache இடையே குறிப்பிடத்தக்க வேறுபாடுகள்

கட்டிடக்கலை

Nginx மற்றும் Apache ஆகியவை அவற்றின் முக்கிய கட்டிடக்கலையில் சில ஒற்றுமைகளைப் பகிர்ந்து கொள்கின்றன. எடுத்துக்காட்டாக, செயல்திறனை மேம்படுத்த அவர்கள் இருவரும் மாஸ்டர்-வொர்க்கர் செயல்முறைகளைப் பயன்படுத்துகின்றனர். அவர்கள் ஒரே மாதிரியான உள்ளமைவு கோப்புகளைக் கொண்டுள்ளனர். இருப்பினும் கட்டடக்கலை பாணியில் உள்ள வேறுபாடுகள் குறிப்பிடத்தக்க பரந்த பார்வை செயல்திறன் மாறுபாட்டை ஏற்படுத்துகின்றன.

Nginx ஆனது வள-நட்பு நிகழ்வு-உந்துதல் கட்டமைப்பைக் கொண்டுள்ளது, இது சுமையின் கீழ் சிறிய ஆனால் நிலையான நினைவகத்தைப் பயன்படுத்துகிறது. இந்தப் பண்பு, அதிக ட்ராஃபிக் நிலைகள் அல்லது இடைவிடாத ட்ராஃபிக் ஸ்பைக்குகளைக் கொண்ட இணையதளங்களை ஹோஸ்ட் செய்வதற்கு ஏற்றதாக அமைகிறது.

அப்பாச்சியின் செயல்முறை-உந்துதல் கட்டமைப்பு ஒவ்வொரு இணைப்பையும் ஒரு பிரத்யேக நூல் வழியாக கையாளுகிறது, இதற்கு அதிக நினைவகம் தேவைப்படுகிறது. இருப்பினும், அதிக CPU கோர்கள் மற்றும் ரேம் உள்ள கணினிகளில் அதிக சுமைகளின் கீழ் இது சிறப்பாக அளவிடப்படுகிறது.

நினைவக பயன்பாடு

Nginx அதன் உயர் செயல்திறன் மற்றும் குறைந்த வள நுகர்வுக்கு அறியப்படுகிறது. மறுபுறம், Apache நினைவகம் தீவிரமானது, குறிப்பாக பல சர்வர் தொகுதிகளை இயக்கும் போது. HTTP கோரிக்கைகளைக் கையாள இருவரும் நினைவகத்தைப் பயன்படுத்தும் போது, ​​Nginx மிகவும் இலகுவானது. 

அப்பாச்சியின் வடிவமைப்பு ஒரு இணைப்பிற்கு ஒரு நூலை உருவாக்குகிறது, மேலும் ஒவ்வொரு நூலும் குறிப்பிட்ட அளவு ரேமைப் பயன்படுத்தும். ட்ராஃபிக் அதிகரித்ததால், அதிக ரேம் தேவைப்படுவதால் இது சிக்கல்களுக்கு வழிவகுக்கும், குறிப்பாக குறைந்த நினைவகம் கொண்ட சர்வர்களில். அப்பாச்சி ஒவ்வொரு கோரிக்கைக்கும், அதே பயனரிடமிருந்தும் புதிய செயல்முறைகளை உருவாக்குகிறது.

ஒப்பீட்டளவில், Nginx ஒரே நேரத்தில் பல இணைப்புகளைக் கையாள ஒரு செயல்முறையைப் பயன்படுத்துகிறது. 

PHP கையாளுதல்

ஏனெனில் இந்த இரண்டு இணைய சேவையகங்களும் முக்கியமாக வேலை செய்கின்றன PHP, அவர்கள் குறியீட்டை எவ்வாறு கையாளுகிறார்கள் என்பது குறிப்பிடத்தக்க செயல்திறன் திறனைக் குறிக்கிறது. Nginx இயல்பாக PHP ஐ நேரடியாக இயக்காது. அதற்கு பதிலாக, அது கோரிக்கையை PHP-FPMக்கு அனுப்புகிறது (FastCGI செயல்முறை மேலாளர்), இது கோரிக்கையைக் கையாளுகிறது மற்றும் Nginx க்கு ஒரு பதிலை அனுப்புகிறது, இது வாடிக்கையாளருக்கு உள்ளடக்கத்தை மீண்டும் வழங்குகிறது.

மற்றொரு கோரிக்கையை வழங்க PHP-FPM இன் பதிலுக்காக Nginx காத்திருக்காததால் (நிலையான உள்ளடக்கத்தை வழங்கும்போது வாடிக்கையாளர்களின் பதிலுக்காக அது எவ்வாறு காத்திருக்காது), Apache நிர்வகிக்கக்கூடியதை விட Nginx ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாள முடியும்.

PHP குறியீட்டை இயக்க அப்பாச்சி mod_php எனப்படும் தொகுதியைப் பயன்படுத்துகிறது. இந்த மாதிரியில், ஒவ்வொரு முறையும் HTTP கோரிக்கை வரும்போது, ​​அந்த கோரிக்கையை கையாள அப்பாச்சி ஒரு புதிய செயல்முறை அல்லது நூலை (அது எப்படி உள்ளமைக்கப்பட்டுள்ளது என்பதைப் பொறுத்து) உருவாக்குகிறது. இந்த செயல்முறையானது அந்த கோரிக்கைக்குள் ஏதேனும் PHP கோரிக்கைகளை கையாளுவதற்கும் பொறுப்பாகும்.

இந்த மாதிரி வேலை செய்கிறது, ஆனால் சில குறைபாடுகள் உள்ளன. ஒன்று, ஒவ்வொரு கோரிக்கைக்கும் ஒரு புதிய செயல்முறையை உருவாக்குவது கணினியில் தீவிரமாக இருக்கும், குறிப்பாக ஒரே நேரத்தில் பல கோரிக்கைகள் இருந்தால். ஒவ்வொரு PHP கோரிக்கைக்கும் ஒரு புதிய செயல்முறையை உருவாக்குவது மிகவும் தீவிரமானது, ஏனெனில் இயக்க முறைமை ஒவ்வொன்றிற்கும் ஒரு புதிய மொழிபெயர்ப்பாளரை உருவாக்க வேண்டும்.

Nginx மற்றும் Apache இடையே எப்படி தேர்வு செய்வது

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

Apache ஐ தேர்வு செய்தால்: 

  • நீங்கள் நடுத்தர/பெரிய அளவிலான இணையதளத்தை இயக்குகிறீர்கள், அது காலப்போக்கில் கணிசமாக வளரும் மற்றும் தனிப்பயன் தொகுதிகள் தேவைப்படும்.
  • உங்கள் சர்வரில் பல மெய்நிகர் ஹோஸ்ட்கள் அல்லது தொகுதிகள் இயக்கப்பட்டுள்ளன, மேலும் அவை அனைத்தும் தொடக்கத்தில் தேவைப்படும்.
  • நீங்கள் ஒரு சிறிய வலைத்தளத்தை இயக்குகிறீர்கள், மேலும் Nginx ஐ எவ்வாறு சரியாக கட்டமைப்பது என்பதைக் கற்றுக்கொள்வதில் நேரத்தை செலவிட விரும்பவில்லை.

Nginx ஐப் பயன்படுத்தினால்:

  • நீங்கள் ஒரு பெரிய அளவிலான இணையதளத்தை இயக்குகிறீர்கள் மற்றும் வன்பொருள் வரம்புகளைப் பற்றி கவலைப்படாமல் ஒரே நேரத்தில் கேச்சிங் மற்றும் லோட் பேலன்சிங் ஆகியவற்றை எளிதாக உள்ளமைக்க விரும்புகிறீர்கள்.

Nginx vs Apache பற்றிய இறுதி எண்ணங்கள்

நீங்கள் Apache அல்லது Nginx ஐ இயக்குவது உங்கள் தேவைகள் மற்றும் நீங்கள் இயங்கும் வன்பொருளைப் பொறுத்தது. PHP இணையதளங்களுக்கு சேவை செய்வதற்கு நீங்கள் எந்த விருப்பத்தையும் பயன்படுத்தலாம். ஆனால் அதை விட இன்னும் நிறைய கருத்தில் கொள்ள வேண்டும். 

உங்களிடம் எளிமையான இணையதளம் இருந்தால், அவற்றுக்கிடையே எந்த வித்தியாசத்தையும் நீங்கள் கவனிக்காமல் இருக்கலாம். ஆனால் உங்கள் தளம் அதிக ட்ராஃபிக்கைப் பெற்று வளர்ந்தால், ஒவ்வொரு சேவையகமும் எவ்வாறு இயங்குகிறது மற்றும் சுமையின் கீழ் அளவிடுகிறது என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும்.

மேலும் வாசிக்க

திமோதி ஷிம் பற்றி

திமோதி ஷிம் எழுத்தாளர், ஆசிரியர் மற்றும் தொழில்நுட்ப மேதை. தகவல் தொழினுட்ப துறையில் தனது தொழிலைத் தொடங்கினார், அவர் விரைவாக அச்சுக்கு தனது வழியை கண்டுபிடித்தார், மேலும் கணினி, கணினி, கணினி, மற்றும் ஆசிய வங்கியாளர் உள்ளிட்ட சர்வதேச, பிராந்திய மற்றும் உள்நாட்டு ஊடக தலைப்புகள் மூலம் பணியாற்றினார். அவருடைய நிபுணத்துவம் தொழில்நுட்ப நுட்பத்தில் நுகர்வோர் மற்றும் நிறுவன புள்ளிகளின் பார்வையில் உள்ளது.