Apache ကတော့ physical web server ကြီးတော့ မဟုတ်တော့ဘူး။ Physical web server တွေထဲမှာ ထည့်သုံးတဲ့ web server software ၊ အဓိက ကတော့ users/visitors တွေရဲ့ request လုပ်မယ့် browser တွေနဲ့ server ကြားထဲမှာ connections တွေလုပ်လို့ရအောင် ဖန်တီပေးတယ်။ အဲ့ဒီ connection တွေကမှတစ်ဆင့် content တွေ deliver လုပ်တယ်၊ request တွေ respond လုပ်တယ်။ Apache က cross-platform ဖြစ်တဲ့ အတွက် unix မှာရော window မှာရော သုံးလို့ ရတယ်။

Visitor က browser ကနေ page တစ်ခုကိုခေါ်လိုက်တယ်ဆိုပါစို့၊ browser ကနေ web server ကို request လှမ်းပို့လိုက်တယ်။ Apache ကနေ request တွေကို request လုပ်လိုက်တဲ့ files တွေကို response ပြန်လုပ်ပေးတယ်။ server နဲ့ client က HTTP protocol ပေါ်ကနေ communicate လုပ်ပြီးတော့ Apache က အဲ့ဒီ connection ကို smooth & secure ဖြစ်အောင်လုပ်ပေးတယ်။

Apache က module-based structure နဲ့ သွားတဲ့ အတွက်ကြောင့် customization လုပ်ရတာလွယ်တယ်။ မလိုတဲ့ modules ကိုဖြုတ်၊ ထပ်လိုရင်လည်း သွင်းရတာ ease ဖြစ်တယ်။ URL rewrite, security, caching, authentication အစရှိတဲ့လိုအပ်တဲ့ modules တွေကပါပြီးသားပဲ။ ကိုယ့်ဘာသာ server configuations တစ်ချို့ ကို လည်း manual ဝင်ရေးလို့ရတယ်။

Apache က thread-based structure ကိုသုံးထားတဲ့ အတွက် performance အပိုင်းမှာတော့ problems တွေရှိတယ်။ thread-based ရဲ့ ပုံစံက synchronous ဖြစ်တဲ့အတွက် traditional programming model တွေလိုပဲ request တစ်ခုမပြီးသေးခင်ထိ wait တယ်။ တစ်ခုပြီးမှ နောက်တစ်ခုကို run တယ်။ traffic များလာတဲ့အချိန်မှာဆို CPU & memory consumption များ လာပြီး request တွေကို handle မလုပ်နိုင်တော့ဘဲ down တာတွေဖြစ်နိုင်ပါတယ်။ performance issues ကိုရှင်းနိုင်ဖို့အတွက် နောက်ပိုင်းမှာ Nginx ဆိုတဲ့ event based structure web server တစ်ခုပေါ်လာပါတယ်။ နောက်နေ့မှာတင်ပေးသွားပါမယ်။
synchronous နဲ့ asynchronous အလုပ်လုပ်ပုံကို သေချာသိချင်ရင် အောက် က article မှာ သွားဖတ်လို့ရပါတယ်။
https://www.facebook.com/photo.php?fbid=787828834906496&set=a.487154271640622&type=3&theater

Apache ကိုပြန်သုံးသပ်ရမယ်ဆိုရင်
Open source ဖြစ်တယ်၊ Free သုံးလို့ရတုန်းပဲ။
Stable ဖြစ်တယ်။
Regular updates တွေရှိတယ်
Modular base ဖြစ်တဲ့အတွက် သုံးရတာ flexible ဖြစ်တယ်
Configuration ခက်ခက်ခဲခဲမရှိဘူး၊ လွယ်တယ်။
Cross platform ဖြစ်တယ်။
Community ကောင်းကောင်းရှိတဲ့အတွက် support ရဖို့လွယ်တယ်။

စဉ်းစားစရာရှိတာလေးတွေကတော့
Thread base ဖြစ်နေတဲ့အတွက် traffic များတဲ့ site တွေအတွက် ဆို performance issues တွေရှိတယ်။
Configuration options တွေများတဲ့အတွက် future မှာ ယိုပေါက်တွေရှိလာနိုင်တယ်။

ဆိုတော့ ကိုယ့်ရဲ့ project traffic ပေါ်မူတည်ပြီး စဉ်းစားလို့ရတယ်။ configuration အများကြီးလည်း မလုပ်ချင်ဘူး၊ stable ဖြစ်တဲ့ web server လည်းလိုတယ်၊ ကိုယ့် site က enterprise & product version မဟုတ်ဘူး(traffic မများလောက်ဘူးဆို) apache ကို ရွေးချယ်ဖို့သင့်တော်ပါတယ်။