معنای لینوکس (Linux) چیست و چه تاثیری در دنیای سیستم عامل ها گذاشت.میزبانی وب

بهینه سازی Hostname Lookup در آپاچی

پروژه‌ی Apache HTTP Server یک پروژه‌ی توسعه و مدیریت وب سرور اپن سورس تحت نام آپاچی (Apache) است که برای سیستم عامل‌های مدرن شامل لینوکس و ویندوز ارایه شده است. هدف از این پروژه دست یابی به یک وب سرور امن، بهینه و قابل گسترش بوده که مطابق با استانداردهای روز HTTP عمل می‌کند. برای رسیدن به عملکرد بهتر در وب سرور آپاچی نیاز است که تغییراتی را در فایل تنظیمات آن (httpd.conf) که در مسیر apache_dir/conf است اعمال گردد.

وب سرور آپاچی علی رغم اینکه نسخه‌ی ویندوز سرور نیز دارد اما عموما در سرویس های لینوکس اشتراکی استفاده می‌شود.

وب سرور Apache

 

یکی از گزینه‌هایی که برای بهینه سازی باید بررسی شود HostnameLookup است. با تغییر در این گزینه کاربران می‌توانند فرمت خروجی فایل لاگ را مشخص کنند. به صورت پیش فرض آپاچی تمام درخواست‌ها را در فایل access.log ذخیره می‌کند. این فایل در مسیر apache_dir/etc قرار گرفته است. اگر قابلیت HostnameLookup فعال باشد، آپاچی تلاش می‌کند تا hostname منبع درخواست را Resolve کند. قبل از آپاچی نسخه‌ی ۱.۳ این قابلیت به صورت پیش فرض روی on قرار داشت که باعث می‌شد به هر درخواست زمان تاخیری (Latency) اضافه شود. از آپاچی نسخه‌ی ۱.۳ به بالا این گزینه به صورت پیش فرض روی off قرار دارد. به همین دلیل در فایل لاگ آپاچی تمام درخواست تنها دارای یک آدرس IP هستند و دیگر hostname آنها درج نمی‌شود.

در صورتیکه نیاز دارید هر آدرس IP که به وب سرور شما درخواست ارسال می‌کند به hostname آن Resolve شود و در فایل لاگ ذخیره شود، می‌توانید از برنامه‌ی logresolve که به همراه Apache ارایه می‌شود برای انجام این مورد استفاده کنید.

پیشنهاد ایران هاست برای وب سایت های لینوکس، استفاده از سرورهای ابری با سرعت و Uptime بالاست.

همین امروز سفارش دهید

Logresolve یک برنامه‌ی پردازش آدرس IP بعد از ذخیره سازی است که توسط آپاچی ارایه می‌شود و می‌توان گفت جایگزین مناسب آپاچی است. از طریق این برنامه شما می‌توانید فایل‌های لاگ ذخیره شده توسط آپاچی را برای Resolve آی پی‌های داخل آن به hostname ها استفاده نمایید. این مورد برای کاهش بار پردازشی بر روی سرور شما یک کش hash-table اختصاصی خود را دارد که بار اضافی بر روی سرور شما نمی‌گذارد. این کش مطرح شده بدان معنا است که هر IP تنها یک بار بررسی می‌شود و در صورت تکرار دیگر مجدد برای یافتن hostname بررسی نشده و از روی جدول کش خود hostname را درج می‌کند.

برای عملکرد بهتر کلی وب سرور ما پیشنهاد می‌کنیم از ابزارهای آنالیز و پردازش بعد از ذخیره سازی اولیه لاگ‌ها در یک سرور دیگر استفاده کنید. این کار باعث می‌شود که مشکلات عملکردی در هنگام انجام پردازش‌های آنالیزی نداشته باشید.

بهینه سازی آپاچی

بنابراین ما متوجه شدیم عملکرد Hostname Lookup در آپاچی در واقع چه کاری را انجام می‌دهد. در واقع Hostname Lookup آپاچی طی هر درخواستی که دریافت می‌کند یک جستجوی معکوس DNS را به ازای هر آی پی از سرویس گیرنده‌ای IP مورد نظر انجام می‌دهد. این فرایند یک پروسه دو مرحله ای دارد که در آن ابتدا یک جتسجوی معکوس انجام شده و در ادامه یک Forward Lookup انجام می‌شود تا نام هاست (Hostname) را با آدرس آی پی مطابقت دهد.

همانطور که در بالاتر اشاره شد یکی از پیشنهاد های رایج برای بهینه سازی آپاچی این است که HostName Lookup غیر فعال شود زیرا فعال بودن آن باعث افزایش تاخیر و کند شدن وب سایت‌ها می‌شود. خاموش کردن آن نیز ایده خوبی است اما :

جدا از تنظیمات، زمانی که mod_authz_host برای کنترل دسترسی بوسیله hostname استفاده شود یک جستجوی معکوس دوتایی انجام می‌پذیرد.

mod_authz_host یک ماژول آپاچی است که برای کنترل پذیرفتن یا رد کردن دسترسی‌ها، بر اساس آدرس IP یا نام هاست مورد استفاده قرار می‌گیرد. مشکل زمانی بروز می‌کند که شما بخواهید از نام هاست به جای آی پی استفاده کنید.

آپاچی Hostname lookup

برای مثال :

Order Deny,Allow
Deny from user.isp.com

اگر این کد را در یک فایل Htaccess یا فایل پیکربندی virtual host استفاده کنید، حتی اگر شما جستجوی Host Name را هم خاموش کرده باشید آپاچی باز هم یک جستجوی معکوس DNS انجام می‌دهد. شاید این مشکل بزرگی به نظر نرسد اما برخی از آی پی آدرس‌ها دارای رکورد PTR نیستند. لذا اگر IP یک کاربر توسط ISP به او اختصاص داده شده باشد این کاربر با کندی هنگام بارگذاری وب سایت یا اپلیکیشن شما مواجه خواهد شد.

راه حل این مشکل تنها استفاده از آدرس IP برای Deny کردن دسترسی است :

Order Deny,Allow
Deny from 192.168.0.1

اگر نمی توانید از به کار بردن host name صرف نظر کنید، به جای اینکه این تنظیمات را بر کل virtual host اعمال کنید می توانید از قوانین allow/deny برای پوشه ها یا فایل‌های خاص استفاده کنید. به یاد داشته باشید، جستجوی معکوس DNS تنها زمانی اتفاق می افتد که آپاچی با این فرامین روبرو شود. بدین منظور پیشنهاد می‌شود نگاهی به FilesMatch و DirectoryMatch بیاندازید.

برای غیر فعال کردن گزینه‌ی Hostname Lookup در آپاچی نیاز است که فایل کانفیگ آپاچی را با ادیتور مورد علاقه‌ی خود باز نموده و کد زیر را در فایل یافته و آن را تغییر دهید:

HostnameLookups Off

با قرار دادن عبارت Off (به کوچک و بزر بودن حروف دقت نمایید) می‌توانید این گزینه را در آپاچی غیر فعال نمایید. پس از غیر فعال سازی نیاز است که یک بار سرویس مربوط به وب سرور خود را (در اینجا آپاچی) ریست نمایید. بدین منظور می‌توانید از دستور زیر استفاده فرمایید:

برای سیستم عامل‌هایی همانند CentOS

service restart httpd

برای سیستم عامل‌هایی همانند Ubuntu

service restart apache2

اگر موفق به یافتن محل ذخیره سازی فایل‌های کانفیگ آپاچی نشدید می‌توانید دو آدرس زیر را بررسی کنید. عموما فایل‌های کانفیگ آپاچی در مسیرهای زیر قرار می‌گیرند:

/etc/apache/httpd.conf

یا

/etc/apache2/ apache2.conf

در نظر داشته باشید در کنار وب سرور Apache می توانید از وب سرور Nginx هم می‌توانید استفاده کنید که برای بارگذاری وب سایت‌هایی با فایل‌های استاتیک به مراتب بهینه‌تر است. می‌توانید در مقاله‌ی مقایسه Apache و Nginx بیشتر در مورد این وب سرور مطالعه نمایید.

1 Star2 Stars3 Stars4 Stars5 Stars (هیچ نظری ثبت نشده است)
Loading...

با کارت بانکی باشگاه ایران هاست پولتان به حسابتان باز می گردد.

همین حالا رایگان عضو شوید

برچسب ها

اشکان نصیری

مدیر سرور در ایران هاست با +۵ سال سابقه در صنعت میزبانی وب و کارشناسی ارشد MBA

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن