چند ماه پیش یک مشتری با یک سوال ساده سراغم آمد. سایت معرفی یک دفتر ترجمه داشت، هشت صفحه و یک فرم تماس. ماهانه پول یک پلن سنگین با منابع اختصاصی را میداد، چون کسی به او گفته بود «هاست ارزان سایت را خراب میکند».
نگاهی به آمار سایتش انداختم. بازدید روزانهاش آنقدر کم بود که عملا بخش بزرگی از منابعی که پولش را میداد بیکار مانده بود. این ماجرا برای من تکراری است و برای همین تصمیم گرفتم این یادداشت را بنویسم.
هاست اشتراکی یعنی چند سایت روی یک سرور، پردازنده و حافظه را با هم شریکاند. اگر هاست درست مدیریت شود، هر سایت فایل و دیتابیس جدای خودش را دارد و فقط منابع پردازشی مشترک است.
برای این نوع سایتها، هاست اشتراکی خوب کاملا کافی است:
وبلاگ شخصی یا تخصصی
سایت معرفی شرکت یا دفتر کار
صفحه فرود یک محصول یا کمپین
رزومه آنلاین و نمونه کار
من سه نشانه را جدی میگیرم:
یک. پنل مدیریت در ساعتهای شلوغ کند میشود. وقتی چند نفر همزمان محصول اضافه میکنند یا سفارشها را بررسی میکنند، این اولین جایی است که فشار دیده میشود.
دو. فروشگاه دارید و کمپین میزنید. صفحه سبد خرید و تسویه حساب کش نمیشوند و هر درخواست مستقیم به PHP و دیتابیس میرسد. اینجاست که منابع مشترک اذیت میکند.
سه. لاگ خطا پر از پیامهای محدودیت منابع یا قطع شدن پردازش است. این را فقط وقتی میبینید که هاست به شما دسترسی لاگ بدهد.
اگر هیچکدام از اینها را ندارید، احتمالا پول اضافه میدهید.
قبل از اینکه به مشتری بگویم پلن را عوض کند، این کارها را انجام میدهم:
افزونه کش درست را نصب و تنظیم میکنم
تصاویر را فشرده و به فرمت سبکتر تبدیل میکنم
افزونههایی که سالهاست کسی سراغشان نرفته را حذف میکنم
نسخه PHP را به جدیدترین نسخهای که قالب و افزونهها پشتیبانی میکنند میبرم
بارها شده که فقط همین چهار کار، سایت را آنقدر سبک کرده که دیگر بحث ارتقا منتفی شده.
بعضی هاستها نتیجه تست بار را منتشر میکنند. این خوب است، ولی من همیشه دنبال شرایط تست میگردم: چند کاربر همزمان، چه نوع صفحهای، و اینکه فروشگاه و خرید هم سنجیده شده یا نه. عددی که شرایطش معلوم نیست، فقط یک عدد قشنگ است.
قانون شخصی من ساده است. سایت تازه را روی پلن اشتراکی خوب شروع میکنم. سه ماه آمار و لاگ را نگاه میکنم. اگر یکی از آن سه نشانه پیدا شد، ارتقا میدهم. اینطوری نه پول هدر میرود و نه سایت زیر بار میماند.
مهمترین شرط این قانون این است که ارتقا راحت باشد. اگر برای رفتن به پلن بزرگتر مجبور باشم سایت را دستی منتقل کنم، کل این روش بیمعنی میشود.