7 Cách Tôi Cắt 60% Chi Phí VPS Mỗi Tháng (Và Vẫn Chạy Ngon Hơn Trước)
Hồi đầu 2023, tôi ngồi check hóa đơn thẻ tín dụng và giật mình: 1.8 triệu/tháng cho 3 con VPS. Một con chạy blog WordPress (200K), một con dev server (600K), một con production cho app client (1 triệu). Ba con VPS, ba nhà cung cấp khác nhau, ba cái dashboard khác nhau.
Sau 6 tháng mổ xẻ từng đồng chi tiêu, tôi cắt được hơn 60% chi phí — từ 1.8 triệu xuống còn 350K/tháng. Không đùa. Ba con VPS vẫn chạy, thậm chí còn nhanh hơn trước vì tôi dọn dẹp và tối ưu hóa cấu hình.
Bài này là những gì tôi học được qua 3 năm vận hành VPS, từ mấy sai lầm "newbie" đến chiến lược tối ưu mà dân DevOps chuyên nghiệp cũng áp dụng. Không lý thuyết suông — toàn số liệu thực và code cấu hình anh em copy-paste được ngay.
Bài Toán: Vì Sao Bạn Đang Trả Nhiều Hơn Mức Cần?
Trước khi đi vào giải pháp, phải hiểu vấn đề. Qua quan sát của tôi khi audit VPS cho bạn bè, có 3 lý do chính khiến hóa đơn phình lên:
- Mua dư tài nguyên — "Để cho chắc" mua 4C/8GB trong khi app chỉ cần 1C/1GB
- Không tận dụng giảm giá — Trả hàng tháng thay vì annual (-20%), không dùng coupon
- Mỗi service một VPS riêng — 5 service = 5 VPS, trong khi Docker 1 con chạy hết
Nghe quen không? Hồi mới làm tôi cũng thế. Mua VPS 4C/8GB "phòng hờ traffic spike", kết quả CPU idle 95% suốt 3 tháng liền. Tiền bay theo gió.
Chiến Lược #1: Chọn Gói VPS Đúng Nhu Cầu — Không "Phòng Hờ"
Đây là lỗi tốn tiền nhất. Kinh điển: "Em mua con 4C/8GB cho chắc, lỡ sau này cần thì có sẵn". Plot twist: sau 6 tháng CPU idle vẫn 95%, RAM dùng chưa tới 2GB.
Làm Sao Biết Mình Cần Gì?
Trước khi mua VPS mới, hãy benchmark app của bạn trước. Đây là script tôi dùng để đo tài nguyên thực tế:
# Đo CPU & RAM usage thực tế trong 24h
# Chạy trên VPS hiện tại hoặc máy local
# CPU trung bình 24h
sar -u 1 10 | tail -1
# RAM peak trong 24h
free -h && cat /proc/meminfo | grep -E "MemTotal|MemAvailable|Committed_AS"
# Disk usage hiện tại + tốc độ tăng
df -h / && find / -type f -mtime -30 -exec du -ch {} + 2>/dev/null | tail -1
Quy tắc ngón tay cái của tôi sau 3 năm:
| Loại Ứng Dụng | CPU Tối Thiểu | RAM Tối Thiểu | VPS Gợi Ý |
|---|---|---|---|
| Blog WordPress (dưới 10K visit/tháng) | 1 vCPU | 1GB | VPS 47K/tháng |
| Bot Telegram/Discord (1-5 bot) | 1 vCPU | 512MB | NAT VPS 47K/tháng |
| Web app Node.js/Python | 1-2 vCPU | 1-2GB | VPS 100-150K/tháng |
| n8n automation <50 workflows | 2 vCPU | 2GB | VPS 150K/tháng |
| Database MySQL/PostgreSQL production | 2 vCPU | 4GB | VPS 250K/tháng |
| Docker host (5-10 containers) | 2 vCPU | 4GB | VPS 250K/tháng |
| Stable Diffusion / Ollama | 4 vCPU + GPU | 8GB+ | VPS GPU từ 500K/tháng |
Chiến Lược #2: NAT VPS Cho Service Không Cần Public IP
Cái này tiết kiệm cực mạnh mà ít người biết. NAT VPS là VPS dùng chung IP với người khác (chia port), giá chỉ bằng 1/3 - 1/5 VPS IP riêng.
Ví dụ thực tế của tôi:
| Service | VPS Public IP (trước) | NAT VPS (sau) | Tiết kiệm |
|---|---|---|---|
| Dev server test code | 200K/tháng | 47K/tháng | 153K |
| Bot Telegram chạy nền | 150K/tháng | 47K/tháng | 103K |
| Cron job scrape data | 100K/tháng | 47K/tháng | 53K |
| Tổng | 450K/tháng | 141K/tháng | 309K |
Các trường hợp NÊN dùng NAT VPS:
- Bot Telegram/Discord/Slack (outbound connection, không cần port mở)
- Dev server test code, học Linux
- Cron job crawl data, web scraping
- Build server CI/CD (GitHub Actions self-hosted runner)
- Node worker xử lý queue (dùng Redis pub/sub)
Các trường hợp KHÔNG nên dùng NAT VPS:
- Web server public (cần port 80/443 riêng)
- VPN server (cần port UDP riêng)
- Game server (cần port range riêng)
- Email server (cần reputation IP riêng)
Tôi đang dùng NAT VPS 47K/tháng của Netihot cho dev server và bot Telegram — chạy 24/7 hơn 1 năm nay chưa downtime lần nào.
Chiến Lược #3: Docker Consolidation — 1 VPS Chạy Nhiều Service
Đây là chiến lược tiết kiệm mạnh nhất với tôi. Thay vì 3-5 VPS mỗi con một service, tôi dùng 1 VPS chạy Docker host tất cả container.
Kiến trúc cũ (2023):
VPS 1 (200K): WordPress blog
VPS 2 (600K): Node.js API + PostgreSQL
VPS 3 (400K): n8n + Redis
VPS 4 (350K): Uptime Kuma + Portainer
─────────────────────────────────
Tổng: 1.55 triệu/tháng
Kiến trúc mới (2026):
VPS duy nhất (250K): 2C/4GB Docker host
├── Container: WordPress (php-fpm + nginx)
├── Container: Node.js API
├── Container: PostgreSQL
├── Container: n8n
├── Container: Redis
├── Container: Uptime Kuma
└── Container: Portainer
─────────────────────────────────
Tổng: 250K/tháng
Tiết kiệm: 1.3 triệu/tháng với cùng một bộ service.
Docker Compose file tôi dùng:
# docker-compose.yml
version: '3.8'
services:
nginx:
image: nginx:alpine
ports: ["80:80", "443:443"]
volumes: [./nginx.conf:/etc/nginx/nginx.conf, ./certs:/etc/letsencrypt]
restart: unless-stopped
mem_limit: 128M
wordpress:
image: wordpress:php8.2-fpm-alpine
environment:
WORDPRESS_DB_HOST: postgres # dùng plugin PG4WP
volumes: [./wp:/var/www/html]
restart: unless-stopped
mem_limit: 256M
api:
build: ./api
restart: unless-stopped
mem_limit: 256M
postgres:
image: postgres:16-alpine
environment: {POSTGRES_PASSWORD: "${DB_PASS}"}
volumes: [pgdata:/var/lib/postgresql/data]
restart: unless-stopped
mem_limit: 512M
n8n:
image: n8nio/n8n
environment: {N8N_BASIC_AUTH_ACTIVE: "true"}
volumes: [n8n_data:/home/node/.n8n]
restart: unless-stopped
mem_limit: 512M
redis:
image: redis:7-alpine
restart: unless-stopped
mem_limit: 128M
volumes:
pgdata:
n8n_data:
mem_limit cho từng container để không container nào "ăn hết" RAM. Với 4GB VPS, tôi phân bổ tổng mem_limit khoảng 3GB (để dư 1GB cho OS + cache). Luôn có swap 2GB phòng hờ.
Chiến Lược #4: Thanh Toán Annual — Luôn Rẻ Hơn 15-25%
Cái này đơn giản nhưng không phải ai cũng làm. Hầu hết provider VPS Việt Nam đều có discount khi trả tiền trước:
| Provider | Hàng Tháng | 6 Tháng | 12 Tháng | Tiết Kiệm Annual |
|---|---|---|---|---|
| Netihot VPS NAT | 47K | 250K (41.7K/tháng) | 470K (39.2K/tháng) | ~17% |
| Netihot VPS 1GB | 100K | 540K (90K/tháng) | 1M (83.3K/tháng) | ~17% |
| Tino Group SME | 150K | 810K (135K/tháng) | 1.5M (125K/tháng) | ~17% |
| TrumVPS Pro | 200K | 1.08M (180K/tháng) | 2M (166.7K/tháng) | ~17% |
Với 3 VPS, annual plan tiết kiệm thêm ~100-150K/tháng — hơn 1 triệu/năm. Tôi luôn annual với VPS production (đã xài quen, biết chắc sẽ dùng lâu dài), còn VPS test thì monthly để dễ hủy.
Chiến Lược #5: Cloudflare Free Tier — CDN + DDoS + DNS Miễn Phí
Nếu bạn đang trả tiền cho dịch vụ CDN, WAF, hay DNS riêng — dừng ngay. Cloudflare free plan làm hết mấy thứ đó và nhiều hơn nữa, hoàn toàn miễn phí.
Những gì Cloudflare free cho bạn:
- CDN toàn cầu: Cache static content ở 330+ data center, giảm 60-80% bandwidth từ VPS gốc
- DDoS protection: Chống DDoS layer 3/4/7 không giới hạn
- DNS management: Propagation nhanh nhất thế giới, free
- SSL/TLS: Auto-renew, wildcard support, 15 năm certificate
- Argo Tunnel: Kết nối VPS không cần mở port public
- Page Rules: 3 rules free, redirect, cache level control
Thực tế: Trước khi dùng Cloudflare, blog WordPress của tôi "ăn" ~150GB bandwidth/tháng. Sau khi bật Cloudflare proxy + cache HTML: còn 12GB/tháng từ VPS gốc. Kết quả là tôi downgrade được từ VPS 2GB xuống 1GB, tiết kiệm thêm 100K/tháng.
# Cloudflare optimization settings cho WordPress
# Page Rules (free plan: 3 rules)
# Rule 1: Cache HTML
URL: mcdhot.com/*
Setting: Cache Level = Cache Everything
Setting: Edge Cache TTL = 2 hours
# Rule 2: Bypass admin
URL: mcdhot.com/wp-admin/*
Setting: Cache Level = Bypass
# Rule 3: Auto Minify
URL: mcdhot.com/*
Setting: Auto Minify = JS + CSS + HTML ON
Chiến Lược #6: Auto-Shutdown Dev/Test Environments
Dev server của bạn có cần chạy 24/7 không? 90% là không. Tôi từng có con VPS dev server 400K/tháng, chỉ dùng 9h-18h các ngày trong tuần. Tính ra 68% thời gian nó ngồi không nhưng tôi vẫn trả full tiền.
Giải pháp: Tôi chuyển sang VPS trả theo giờ (hourly billing) của Tino Group, và dùng cron tự động shutdown ngoài giờ làm:
# Crontab trên dev server
# Tắt dev server 6PM mỗi ngày
0 18 * * 1-5 /sbin/shutdown -h now
# Hoặc dùng script tắt VPS qua API provider
# Ví dụ với Netihot API:
0 18 * * 1-5 curl -X POST https://netihot.com/api/vps/shutdown \
-H "Authorization: Bearer $API_KEY" \
-d '{"vps_id":"12345"}'
Nếu provider bạn hỗ trợ billing theo giờ (Tino Group có hourly billing, một số provider khác cũng có), chi phí dev server của bạn có thể giảm 60-70%. Với tôi, từ 400K/tháng xuống còn ~130K/tháng.
Chiến Lược #7: Monitor & Budget Alert — Đừng Để Hóa Đơn "Bất Ngờ"
Câu chuyện đau thương: Tháng 3/2024, tôi test một tool crawl data mới trên VPS production, quên tắt. Nó chạy 24/7 trong 10 ngày, ăn hết 4TB bandwidth. Hóa đơn cuối tháng: 2.3 triệu thay vì 200K bình thường. Tôi suýt ngất.
Từ đó tôi luôn có 3 lớp monitoring:
# Layer 1: Budget alert từ provider
# Netihot: vào dashboard → Billing → Set Budget Alert
# Tino: vào Cloud Portal → Cost Management → Budget
# TrumVPS: vào Client Area → Notifications
# Layer 2: Tự monitor với cron + Telegram alert
# File: /root/monitor-cost.sh
#!/bin/bash
# Check bandwidth usage, alert nếu vượt ngưỡng
LIMIT_GB=500 # ngưỡng bandwidth (GB)
USED=$(vnstat -m --oneline | cut -d';' -f11) # tháng hiện tại
if [ "$USED" -gt "$LIMIT_GB" ]; then
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
-d "chat_id=${CHAT_ID}" \
-d "text=⚠️ VPS bandwidth: ${USED}GB/${LIMIT_GB}GB — vượt ngưỡng!"
fi
# cron mỗi 6 tiếng
# 0 */6 * * * /root/monitor-cost.sh
# Layer 3: Cloudflare Analytics
# Dashboard → Analytics → check bandwidth savings
# Nếu savings giảm → có thể cache bị bypass → check ngay
Kết quả tổng hợp sau khi áp dụng cả 7 chiến lược:
| Chiến Lược | Trước | Sau | Tiết Kiệm |
|---|---|---|---|
| #1 Right-size VPS | 600K (4C/8GB) | 200K (2C/2GB) | 400K |
| #2 NAT VPS | 450K (3 VPS) | 141K (3 NAT) | 309K |
| #3 Docker consolidate | 1.550K (4 VPS) | 250K (1 VPS) | 1.300K |
| #4 Annual billing | 1.550K/tháng | 1.290K/tháng | 260K |
| #5 Cloudflare CDN | VPS 2GB (250K) | VPS 1GB (100K) | 150K |
| #6 Auto-shutdown | 400K (dev 24/7) | 130K (hourly) | 270K |
| #7 Monitoring | 2.3M (1 lần) | 200K (bình thường) | Tránh shock bill |
Lưu ý: Không phải ai cũng cần áp dụng hết 7 chiến lược. Với tôi, #1, #2, #3 là "big 3" — 3 cái này thôi đã cắt được 60% chi phí.
So Sánh Nhanh: VPS Giá Rẻ Tốt Nhất 2026
Không phải VPS rẻ nào cũng tốt. Đây là bảng so sánh tôi tổng hợp từ trải nghiệm thực tế:
| Tiêu Chí | Netihot | Tino Group | TrumVPS |
|---|---|---|---|
| Giá NAT VPS | 47K/tháng | Không có | 45K/tháng |
| Giá VPS 1GB | 100K/tháng | 150K/tháng | 99K/tháng |
| Annual discount | ~17% | ~17% | ~17% |
| Hourly billing | Không | Có | Không |
| Ổ cứng | NVMe SSD | SSD | NVMe SSD |
| Datacenter VN | Có | Có | Có |
| Support | Ticket + Telegram | Ticket + Hotline | Ticket |
| Free SSL | Có | Có | Có |
Tôi cá nhân dùng Netihot cho VPS hàng ngày (NAT VPS 47K cho dev + bot, VPS 250K cho Docker host production). Lý do: giá tốt nhất trong phân khúc NAT, có datacenter VN, support Telegram nhanh. Để mấy con bot quan trọng thì tôi dùng Tino Group vì có hourly billing + snapshot backup.
Xem thêm: So sánh VPS Việt Nam chi tiết và Top VPS giá rẻ nhất 2026.
Câu Hỏi Thường Gặp
NAT VPS có ổn định không?
Rất ổn định cho mục đích chạy bot, dev, crawl. Tôi dùng NAT VPS Netihot 47K/tháng hơn 1 năm nay, uptime 99.9%, chưa từng bị mất dữ liệu. Hạn chế duy nhất: không có port 80/443 riêng, không làm web server được.
Annual billing có rủi ro không nếu provider "sập"?
Chọn provider uy tín đã hoạt động 3-5 năm. Netihot, Tino Group, TrumVPS đều có tuổi đời 5+ năm. Tôi chỉ annual với provider đã dùng ít nhất 6 tháng. Với provider mới, monthly 3 tháng đầu rồi hẵng annual.
Docker có làm chậm VPS không?
Overhead của Docker rất thấp — dưới 2% CPU, dưới 50MB RAM. Cái ăn tài nguyên là ứng dụng bên trong container, không phải Docker. Tuy nhiên nếu bạn chạy 10+ container trên VPS 1GB thì sẽ lag — đó là do hết RAM, không phải lỗi Docker.
Cloudflare free plan có giới hạn gì không?
Có vài giới hạn nhưng với blog/tool cá nhân thì dư sức: 3 page rules, không có custom WAF rules, không có image optimization (Pro plan mới có), không hỗ trợ upload video >100MB qua proxy. Với nhu cầu blog WordPress thông thường, free plan là quá đủ.
Tổng Kết
Sau 3 năm vận hành VPS, bài học lớn nhất của tôi: Đắt không có nghĩa là tốt, và rẻ không có nghĩa là dỏm. Một con NAT VPS 47K được cấu hình đúng có thể chạy ngon hơn con VPS 500K bị bỏ bê.
Tóm gọn 7 chiến lược:
- Benchmark nhu cầu thật → chọn gói đúng, đừng "phòng hờ"
- NAT VPS cho service không cần public IP (bot, dev, cron)
- Docker consolidation — gom nhiều service vào 1 VPS
- Annual billing tiết kiệm 15-25%
- Cloudflare free tier cho CDN + DDoS + DNS
- Auto-shutdown dev/test ngoài giờ làm việc
- Budget alert — đừng để hóa đơn làm bạn giật mình
Bắt đầu từ đâu? Làm #1 ngay hôm nay. SSH vào VPS, chạy htop và df -h, xem bạn đang dùng bao nhiêu % tài nguyên. Nếu CPU/RAM idle >70% trong 7 ngày qua → bạn đang trả tiền cho không khí.
🚀 Bắt Đầu Với VPS Giá Rẻ, Uy Tín
NAT VPS từ 47K/tháng — VPS NVMe SSD từ 100K/tháng. Datacenter Việt Nam, hỗ trợ Telegram 24/7.
Dùng Netihot — Giá Rẻ Nhất Tino Group — Hourly BillingBài viết dựa trên trải nghiệm cá nhân 3 năm vận hành VPS. Giá và chính sách có thể thay đổi theo thời điểm bạn đọc. Luôn kiểm tra trang chủ provider để có thông tin mới nhất.