تنظیمات بهینه CloudLinux LVE برای سرعت بالا
🎯 تنظیمات پیشنهادی بر اساس نوع سایت:
📊 جدول مقایسه:
نوع سایت | SPEED | PMEM | VMEM | IO | IOPS | EP | NPROC |
---|---|---|---|---|---|---|---|
وردپرس معمولی | 100% | 1GB | 2GB | 10MB/s | 1024 | 50 | 100 |
وردپرس پربازدید | 150% | 2GB | 4GB | 20MB/s | 2048 | 100 | 150 |
فروشگاه (WooCommerce) | 200% | 3GB | 6GB | 30MB/s | 3072 | 150 | 200 |
سایت استاتیک/HTML | 75% | 512MB | 1GB | 5MB/s | 512 | 30 | 50 |
لاراول/Django | 150% | 2GB | 4GB | 20MB/s | 2048 | 100 | 150 |
🚀 تنظیمات پیشنهادی برای وردپرس (متوسط):
مقادیر دقیق:
SPEED = 100%
PMEM = 1024MB (1GB)
VMEM = 2048MB (2GB)
IO = 10240KB/s (10MB/s)
IOPS = 1024
EP = 50
NPROC = 100
INODES = 250000
📋 توضیح هر پارامتر:
1️⃣ SPEED (CPU):
- چیست؟ درصد استفاده از CPU
- 100% = 1 هسته کامل
- پیشنهاد:
- سایت کوچک: 75-100%
- سایت متوسط: 100-150%
- سایت بزرگ: 150-200%
- فروشگاه: 200%+
⚠️ اگر سایت کند است، اول SPEED را افزایش دهید
2️⃣ PMEM (Physical Memory):
- چیست؟ حافظه فیزیکی RAM
- پیشنهاد:
- وردپرس ساده: 512MB - 1GB
- وردپرس + پلاگین: 1GB - 2GB
- WooCommerce: 2GB - 3GB
- لاراول/Django: 2GB - 4GB
Copy
✅ مهمترین فاکتور برای سرعت PHP
3️⃣ VMEM (Virtual Memory):
- چیست؟ حافظه مجازی (RAM + SWAP)
- فرمول:
VMEM = PMEM × 2
- پیشنهاد:
- اگر PMEM = 1GB → VMEM = 2GB
- اگر PMEM = 2GB → VMEM = 4GB
4️⃣ IO (Disk Speed):
- چیست؟ سرعت خواندن/نوشتن دیسک
- واحد: KB/s
- پیشنهاد:
- سایت معمولی: 5-10 MB/s (5120-10240 KB/s)
- سایت پربازدید: 10-20 MB/s (10240-20480 KB/s)
- فروشگاه: 20-30 MB/s (20480-30720 KB/s)
Copy
⚠️ برای سایتهای با تصویر زیاد، این مهم است
5️⃣ IOPS (Input/Output Operations):
- چیست؟ تعداد عملیات خواندن/نوشتن در ثانیه
- پیشنهاد:
- سایت معمولی: 512-1024
- سایت پربازدید: 1024-2048
- دیتابیس سنگین: 2048-4096
Copy
✅ برای دیتابیس و کش بسیار مهم است
6️⃣ EP (Entry Processes):
- چیست؟ تعداد درخواستهای همزمان
- پیشنهاد:
- سایت کوچک: 20-30
- سایت متوسط: 30-50
- سایت بزرگ: 50-100
- فروشگاه: 100-150
Copy
⚠️ اگر سایت 503 میدهد، این را افزایش دهید
7️⃣ NPROC (Number of Processes):
- چیست؟ تعداد پروسههای همزمان
- فرمول:
NPROC = EP × 2
- پیشنهاد:
- EP = 50 → NPROC = 100
- EP = 100 → NPROC = 200
8️⃣ INODES:
- چیست؟ تعداد فایلها
- پیشنهاد:
- سایت کوچک: 100,000
- وردپرس: 250,000
- چند سایت: 500,000
- Reseller: 1,000,000+
🎯 پکیجهای پیشنهادی آماده:
📦 پکیج 1: وردپرس استاندارد
Copy
SPEED = 100%
PMEM = 1024MB
VMEM = 2048MB
IO = 10240KB/s
IOPS = 1024
EP = 50
NPROC = 100
INODES = 250000
مناسب برای:
- وردپرس با ترافیک متوسط (1000-5000 بازدید/روز)
- تا 20 پلاگین
- 1-2 سایت
📦 پکیج 2: وردپرس حرفهای
Copy
SPEED = 150%
PMEM = 2048MB
VMEM = 4096MB
IO = 20480KB/s
IOPS = 2048
EP = 100
NPROC = 200
INODES = 500000
مناسب برای:
- وردپرس پربازدید (5000-20000 بازدید/روز)
- WooCommerce کوچک
- 2-5 سایت
📦 پکیج 3: فروشگاه/سایت بزرگ
Copy
SPEED = 200%
PMEM = 3072MB
VMEM = 6144MB
IO = 30720KB/s
IOPS = 3072
EP = 150
NPROC = 300
INODES = 750000
مناسب برای:
- WooCommerce بزرگ
- سایت با ترافیک بالا (20000+ بازدید/روز)
- چندین سایت پربازدید
📦 پکیج 4: لاراول/Django
Copy
SPEED = 150%
PMEM = 2048MB
VMEM = 4096MB
IO = 20480KB/s
IOPS = 2048
EP = 100
NPROC = 150
INODES = 300000
مناسب برای:
- اپلیکیشنهای PHP/Python
- API سرور
- سایتهای داینامیک
🛠️ روش تنظیم در WHM:
روش 1: از طریق WHM Interface
Copy
WHM → Plugins → LVE Manager
→ Users → [انتخاب یوزر]
→ Edit limits
یا:
Copy
WHM → CloudLinux LVE Manager
→ Options → Select User
→ Set Custom Limits
روش 2: تنظیم گروهی (Bulk)
Copy
# تنظیم برای همه یوزرها
lvectl set all --speed=100 --pmem=1024M --vmem=2048M --io=10240 --iops=1024 --ep=50 --nproc=100
# تنظیم برای یک یوزر خاص
lvectl set applgocz --speed=150 --pmem=2048M --vmem=4096M --io=20480 --iops=2048 --ep=100 --nproc=200
# تنظیم برای یک پکیج
lvectl set-package default --speed=100 --pmem=1024M --vmem=2048M --io=10240 --iops=1024 --ep=50 --nproc=100
روش 3: اسکریپت خودکار
Copy
cat > /root/set-lve-limits.sh << 'EOF'
#!/bin/bash
echo "======================================"
echo " CloudLinux LVE Optimizer"
echo "======================================"
echo ""
# منوی انتخاب
echo "Select package type:"
echo "1) WordPress Standard (1GB RAM)"
echo "2) WordPress Pro (2GB RAM)"
echo "3) WooCommerce/Large Site (3GB RAM)"
echo "4) Laravel/Django (2GB RAM)"
echo "5) Custom"
echo ""
read -p "Enter choice [1-5]: " choice
case $choice in
1)
SPEED=100
PMEM=1024M
VMEM=2048M
IO=10240
IOPS=1024
EP=50
NPROC=100
;;
2)
SPEED=150
PMEM=2048M
VMEM=4096M
IO=20480
IOPS=2048
EP=100
NPROC=200
;;
3)
SPEED=200
PMEM=3072M
VMEM=6144M
IO=30720
IOPS=3072
EP=150
NPROC=300
;;
4)
SPEED=150
PMEM=2048M
VMEM=4096M
IO=20480
IOPS=2048
EP=100
NPROC=150
;;
5)
read -p "SPEED (%): " SPEED
read -p "PMEM (MB): " PMEM_VAL
PMEM="${PMEM_VAL}M"
read -p "VMEM (MB): " VMEM_VAL
VMEM="${VMEM_VAL}M"
read -p "IO (KB/s): " IO
read -p "IOPS: " IOPS
read -p "EP: " EP
read -p "NPROC: " NPROC
;;
*)
echo "Invalid choice"
exit 1
;;
esac
echo ""
echo "======================================"
echo " Applying settings:"
echo "======================================"
echo "SPEED: $SPEED%"
echo "PMEM: $PMEM"
echo "VMEM: $VMEM"
echo "IO: $IO KB/s"
echo "IOPS: $IOPS"
echo "EP: $EP"
echo "NPROC: $NPROC"
echo ""
read -p "Apply to (all/username/package): " target
if [ "$target" = "all" ]; then
lvectl set all --speed=$SPEED --pmem=$PMEM --vmem=$VMEM --io=$IO --iops=$IOPS --ep=$EP --nproc=$NPROC
echo "✓ Applied to all users"
elif [ "$target" = "package" ]; then
read -p "Package name: " pkg
lvectl set-package $pkg --speed=$SPEED --pmem=$PMEM --vmem=$VMEM --io=$IO --iops=$IOPS --ep=$EP --nproc=$NPROC
echo "✓ Applied to package: $pkg"
else
lvectl set $target --speed=$SPEED --pmem=$PMEM --vmem=$VMEM --io=$IO --iops=$IOPS --ep=$EP --nproc=$NPROC
echo "✓ Applied to user: $target"
fi
echo ""
echo "======================================"
echo " Verification:"
echo "======================================"
lvectl list $target
echo ""
echo "✓ Done!"
EOF
chmod +x /root/set-lve-limits.sh
bash /root/set-lve-limits.sh
📊 بررسی مصرف فعلی:
Copy
# مشاهده مصرف همه یوزرها
lveps
# مشاهده یوزرهایی که به لیمیت رسیدند
lveps --display-faults
# مشاهده جزئیات یک یوزر
lvectl list applgocz
# مشاهده گزارش کامل
lvetop
🎨 اسکریپت مانیتورینگ:
Copy
cat > /root/lve-monitor.sh << 'EOF'
#!/bin/bash
echo "======================================"
echo " CloudLinux LVE Monitor"
echo " $(date)"
echo "======================================"
echo ""
echo "=== Top 10 Users by CPU ==="
lveps --by-cpu | head -11
echo ""
echo "=== Top 10 Users by Memory ==="
lveps --by-mem | head -11
echo ""
echo "=== Top 10 Users by IO ==="
lveps --by-io | head -11
echo ""
echo "=== Users hitting limits ==="
lveps --display-faults
echo ""
echo "=== Summary ==="
lvectl list all | grep -E "ID|SPEED|PMEM|IO|EP" | head -20
echo ""
echo "======================================"
EOF
chmod +x /root/lve-monitor.sh
# اجرا
bash /root/lve-monitor.sh
# یا watch mode
watch -n 5 '/root/lve-monitor.sh'
⚡ تنظیمات پیشرفته:
1. افزایش لیمیت برای یوزرهای خاص:
Copy
# یوزرهای VIP
lvectl set vip_user --speed=200 --pmem=4096M --vmem=8192M --io=40960 --iops=4096 --ep=200 --nproc=400
# یوزرهای معمولی
lvectl set normal_user --speed=100 --pmem=1024M --vmem=2048M --io=10240 --iops=1024 --ep=50 --nproc=100
2. تنظیم پکیج پیشفرض:
Copy
# ویرایش پکیج default
lvectl set-package default --speed=100 --pmem=1024M --vmem=2048M --io=10240 --iops=1024 --ep=50 --nproc=100
# لیست پکیجها
lvectl package-list
# حذف محدودیت از یک یوزر (استفاده از پکیج)
lvectl set username --package=default
3. غیرفعال کردن محدودیت برای تست:
Copy
# غیرفعال کردن برای یک یوزر
lvectl set username --speed=0
# یا حذف کامل
lvectl delete username
🚨 علائم نیاز به افزایش لیمیت:
علامت | پارامتر نیاز به افزایش |
---|---|
503 Service Unavailable | EP, NPROC |
سایت کند | SPEED, PMEM |
خطای Memory | PMEM, VMEM |
خطای Disk | IO, IOPS |
خطای Too many files | INODES |
✅ چکلیست بهینهسازی:
# 1. بررسی وضعیت فعلی
lvectl list all
# 2. مشاهده فالتها
lveps --display-faults --period=1d
# 3. تنظیم لیمیتها
lvectl set all --speed=100 --pmem=1024M --vmem=2048M --io=10240 --iops=1024 --ep=50 --nproc=100
# 4. بررسی مجدد
lvectl list all
# 5. مانیتورینگ
lvetop