فروشگاه اینترنتی با یک وبلاگ یا سایت شرکتی فرق دارد. اینجا پای پول در میان است—هر ثانیه کندی سایت یعنی از دست دادن مشتری، و هر دقیقه قطعی یعنی ضرر مالی مستقیم. انتخاب سرور برای فروشگاه اینترنتی، مهمترین تصمیم فنی شماست.
فروشگاه اینترنتی روی چه سروری اجرا شود؟
پاسخ کوتاه: VPS با حداقل ۴ گیگ RAM. اما پاسخ واقعی این است: سروری که تحت هیچ شرایطی از کار نیفتد.
فروشگاه اینترنتی—چه ووکامرس باشد، چه PrestaShop، چه Shopify با هدلس و چه فروشگاهساز اختصاصی—فشار سنگینی به سرور وارد میکند:
- هر جستجوی محصول چندین کوئری دیتابیس اجرا میکند
- هر افزودن به سبد خرید نیاز به اعتبارسنجی و محاسبه دارد
- هر پرداخت آنلاین باید امن و instant باشد
- تصاویر محصولات با کیفیت بالا پهنای باند زیادی مصرف میکنند
هاست اشتراکی برای فروشگاه مثل این است که با دوچرخه باربری کنید—شدنی است، اما عاقلانه نیست.
چه CPU و RAM برای فروشگاه اینترنتی لازم است؟
| اندازه فروشگاه | CPU | RAM | فضای ذخیرهسازی |
|---|---|---|---|
| کوچک (تا ۵۰ محصول) | ۲ هسته | ۴ گیگ | ۴۰ گیگ NVMe |
| متوسط (۵۰-۳۰۰ محصول) | ۴ هسته | ۶-۸ گیگ | ۶۰-۸۰ گیگ NVMe |
| بزرگ (۳۰۰-۱۰۰۰ محصول) | ۶-۸ هسته | ۱۲-۱۶ گیگ | ۱۲۰-۱۶۰ گیگ NVMe |
| خیلی بزرگ (۱۰۰۰+ محصول) | ۸-۱۶ هسته | ۱۶-۳۲ گیگ | ۲۰۰+ گیگ NVMe |
یک اشتباه رایج: فقط به میانگین ترافیک روزانه نگاه نکنید. فروشگاهها ترافیک spike دارند—شبهای تخفیف، کمپینهای فروش ویژه، عید نوروز. سرور باید برای این spikes آماده باشد. VPS این مزیت را دارد که میتوانید برای یک هفته منابع را افزایش دهید و بعد از کمپین، برگردانید.
NVMe SSD — نه SSD معمولی
برای فروشگاه، NVMe SSD یک ضرورت است، نه یک گزینه لوکس. چرا؟
- جستجوی محصولات: هر جستجو ۱۰-۲۰ کوئری MySQL همراه با WHERE، JOIN و ORDER BY اجرا میکند. NVMe این کوئریها را ۳-۵ برابر سریعتر از SSD معمولی پاسخ میدهد
- لود تصاویر محصول: صدها تصویر باکیفیت—NVMe میتواند همزمان به هزاران فایل سرویس دهد
- بکآپ و restore: فضای ذخیرهسازی سریع یعنی بکآپ سریعتر و restore سریعتر
MySQL — موتور فروشگاه شما
اکثر فروشگاهسازها—مخصوصاً ووکامرس—به شدت به MySQL وابسته هستند. تنظیمات بهینه MySQL برای فروشگاه:
innodb_buffer_pool_size = 4G # 70% of total RAM
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 2
query_cache_type = OFF # Use Redis instead
max_connections = 150
همیشه innodb_buffer_pool_size را روی ۷۰٪ از RAM تنظیم کنید. برای یک VPS با ۸ گیگ RAM، یعنی حدود ۵.۵ گیگ فقط برای MySQL.
Elasticsearch — جستجوی پیشرفته
جستجوی پیشفرض ووکامرس (MySQL LIKE) برای بیش از ۱۰۰ محصول کُند و نادقیق است. Elasticsearch یا Meilisearch جستجو را سریع، دقیق و با تحمل خطا (typo-tolerant) میکنند.
البته Elasticsearch RAM زیادی مصرف میکند—حداقل ۲ گیگ. اگر بودجه محدودی دارید، Meilisearch جایگزین سبکتری است.
کش — چند لایه، نه یک لایه
برای فروشگاه، یک لایه کش کافی نیست. از کش چندلایه استفاده کنید:
۱. Redis Object Cache: کش کوئریهای MySQL و transient data ۲. Nginx FastCGI Cache: کش صفحات کامل HTML (برای کاربران مهمان، نه کاربران لاگینشده) ۳. CDN (Cloudflare): کش تصاویر، CSS، JS و فایلهای استاتیک در لبه شبکه ۴. OPcache: کش bytecode PHP (تنظیم پیشفرض PHP)
نکته مهم برای فروشگاه: هرگز صفحات سبد خرید، checkout و حساب کاربری را کش نکنید—باعث نمایش اطلاعات اشتباه به کاربران میشود.
امنیت فروشگاه — به اندازه فروش فیزیکی جدی است
در فروشگاه فیزیکی، دوربین مداربسته و گاوصندوق دارید. در فروشگاه آنلاین، اینها معادلهای دیجیتال هستند:
- SSL معتبر (نه رایگان خودامضا): اطلاعات کارت بانکی و مشخصات کاربران حتماً باید رمزنگاری شود
- WAF (Web Application Firewall): جلوگیری از SQL injection، XSS و CSRF—Cloudflare WAF یک گزینه رایگان عالی است
- بکآپ روزانه خودکار: تنظیم cron job برای بکآپ خودکار دیتابیس و فایلها
- Fail2Ban: جلوگیری از brute force attack روی wp-admin یا پنل مدیریت
- مانیتورینگ ۲۴ ساعته: uptime monitoring با ابزارهایی مثل UptimeRobot یا BetterStack
جمعبندی: سرور مناسب فروشگاه شما
برای یک فروشگاه اینترنتی استاندارد با ۱۰۰-۳۰۰ محصول و روزانه ۱۰۰۰-۳۰۰۰ بازدید:
- CPU: ۴ هسته
- RAM: ۸ گیگابایت
- ذخیرهسازی: ۶۰-۸۰ گیگابایت NVMe SSD
- سیستمعامل: Ubuntu 22.04 LTS
- وب سرور: Nginx + FastCGI Cache
- دیتابیس: MySQL 8.0 بهینهشده
- کش: Redis Object Cache + Cloudflare CDN
- امنیت: SSL + Fail2Ban + بکآپ روزانه
👈 سرور مناسب فروشگاه اینترنتی خود را انتخاب کنید
مقالات مرتبط
- راهنمای انتخاب VPS برای سایتهای وردپرسی و فروشگاهی — انتخاب منابع و تنظیمات ووکامرس
- برای سایت من چه سروری لازم است؟ — راهنمای گامبهگام انتخاب سرور
- سرور ابری برای WordPress — راهنمای تخصصی وردپرس روی VPS