¿Tu VPS rinde lo que promete? Los benchmarks te dicen la verdad. Esta guía te enseña a medir CPU, disco, red y tu aplicación real.
Benchmark rápido todo-en-uno
# Script popular que mide todo
curl -sL yabs.sh | bash
Este script mide:
- CPU (Geekbench)
- Disco (fio)
- Red (iperf3)
Tarda ~15 minutos pero da visión completa.
Benchmark de CPU
Sysbench
# Instalar
sudo apt install sysbench -y
# Test de CPU (10 segundos)
sysbench cpu run
# Más intensivo
sysbench cpu --threads=4 --time=60 run
Interpretar:
- events per second: más alto = mejor
- Compara entre VPS del mismo precio
Stress-ng
# Instalar
sudo apt install stress-ng -y
# Test de CPU
stress-ng --cpu 4 --timeout 60s --metrics-brief
Benchmark de disco
fio (el estándar)
# Instalar
sudo apt install fio -y
# Test de lectura secuencial
fio --name=read_test --filename=/tmp/testfile \
--size=1G --rw=read --bs=1M --numjobs=1 \
--time_based --runtime=30
# Test de escritura secuencial
fio --name=write_test --filename=/tmp/testfile \
--size=1G --rw=write --bs=1M --numjobs=1 \
--time_based --runtime=30
# Test IOPS (aleatorio, importante para BD)
fio --name=iops_test --filename=/tmp/testfile \
--size=1G --rw=randrw --bs=4k --numjobs=4 \
--time_based --runtime=30 --iodepth=64
dd (rápido pero básico)
# Test escritura
dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=dsync
# Test lectura
dd if=/tmp/testfile of=/dev/null bs=1G count=1
# Limpiar
rm /tmp/testfile
Valores típicos:
- HDD: ~100 MB/s, ~100 IOPS
- SSD SATA: ~500 MB/s, ~50.000 IOPS
- NVMe: ~3.000 MB/s, ~500.000 IOPS
Benchmark de red
Velocidad de descarga
# speedtest-cli
sudo apt install speedtest-cli -y
speedtest-cli
# O con curl
curl -o /dev/null http://speedtest.tele2.net/100MB.zip
Latencia
# Ping a destinos comunes
ping -c 10 google.com
ping -c 10 8.8.8.8
# Latencia a Madrid (ejemplo)
ping -c 10 speedtest.mad.as174.net
iperf3 (entre servidores)
# Instalar
sudo apt install iperf3 -y
# En servidor remoto
iperf3 -s
# Desde tu VPS
iperf3 -c IP_SERVIDOR_REMOTO
Benchmark de memoria
Sysbench
# Test de memoria
sysbench memory run
# Más intensivo
sysbench memory --threads=4 --time=60 run
stress-ng
# Test de memoria
stress-ng --vm 2 --vm-bytes 1G --timeout 60s --metrics-brief
Test de carga de aplicación
Apache Bench (ab)
# Instalar
sudo apt install apache2-utils -y
# 1000 requests, 10 concurrentes
ab -n 1000 -c 10 https://tudominio.com/
# Con keep-alive
ab -n 1000 -c 10 -k https://tudominio.com/
Métricas clave:
- Requests per second
- Time per request
- Percentiles (90%, 99%)
wrk (más avanzado)
# Instalar
sudo apt install wrk -y
# Test de 30 segundos, 12 threads, 100 conexiones
wrk -t12 -c100 -d30s https://tudominio.com/
k6 (moderno, con scripts)
# Instalar
sudo snap install k6
# Script básico (test.js)
cat > test.js << 'EOF'
import http from 'k6/http';
import { sleep } from 'k6';
export default function() {
http.get('https://tudominio.com/');
sleep(1);
}
EOF
# Ejecutar con 10 usuarios virtuales, 30 segundos
k6 run --vus 10 --duration 30s test.js
Comparar antes/después
Script de benchmark completo
#!/bin/bash
# /root/scripts/benchmark.sh
echo "=== Benchmark VPS $(date) ===" | tee benchmark.log
echo -e "\n--- CPU ---" | tee -a benchmark.log
sysbench cpu --time=30 run | tee -a benchmark.log
echo -e "\n--- Disco ---" | tee -a benchmark.log
fio --name=test --filename=/tmp/fio --size=1G \
--rw=randrw --bs=4k --runtime=30 --time_based \
--output-format=json | jq '.jobs[0].read.iops, .jobs[0].write.iops' | tee -a benchmark.log
rm /tmp/fio
echo -e "\n--- Red ---" | tee -a benchmark.log
speedtest-cli --simple | tee -a benchmark.log
echo -e "\n--- Web ---" | tee -a benchmark.log
ab -n 500 -c 10 http://localhost/ 2>&1 | grep "Requests per second" | tee -a benchmark.log
echo -e "\n=== Fin ===" | tee -a benchmark.log
Valores de referencia
| Componente | Básico | Bueno | Excelente |
|---|---|---|---|
| CPU (events/s) | 500 | 1500 | 3000+ |
| Disco seq. | 100 MB/s | 500 MB/s | 2000+ MB/s |
| IOPS | 1K | 50K | 200K+ |
| Red | 100 Mbps | 1 Gbps | 10 Gbps |
| Latencia | <50ms | <20ms | <10ms |
Monitorizar durante test
# En otra terminal mientras haces tests
htop # CPU y RAM
iostat -x 1 # Disco
iftop # Red
Preguntas frecuentes
¿Con qué frecuencia debo hacer benchmarks?
Al contratar VPS nuevo, después de cambios importantes, y periódicamente (trimestral). También si notas degradación de rendimiento.
¿Los benchmarks afectan mi sitio en producción?
Sí, consumen recursos. Hazlos en horarios de bajo tráfico o en VPS de staging. El benchmark de disco especialmente puede afectar.
¿Qué benchmark es más importante?
Depende de tu aplicación. Para WordPress/PHP: disco y CPU. Para APIs: red y CPU. Para bases de datos: IOPS de disco.
¿Por qué mis resultados difieren del proveedor?
Los proveedores muestran valores pico o en condiciones ideales. Los tuyos son reales con carga del sistema. También depende del momento del día.
¿Cómo sé si mi VPS tiene overselling?
Haz benchmarks en diferentes horas. Si varían mucho (especialmente CPU), puede indicar overselling o vecinos ruidosos.
Nuestra recomendación
Al contratar VPS:
- Ejecuta yabs.sh para visión general
- Guarda resultados como baseline
- Compara con lo prometido
Periódicamente:
- Benchmark mensual básico
- Compara con baseline
- Investiga si hay degradación
Antes de optimizar:
- Mide estado actual
- Aplica cambios
- Mide de nuevo
- Compara
¿Rendimiento bajo de lo esperado? Los VPS de Avantys ofrecen recursos garantizados sin overselling.
Conclusión
Los benchmarks te dan datos objetivos sobre tu VPS. Sin medir, solo adivinas. Con datos, tomas decisiones informadas.
Guarda tus resultados y compara en el tiempo para detectar degradación.
¿Quieres que lo hagamos por ti?
En Avantys gestionamos tu web, hosting y crecimiento digital de punta a punta. Tú a lo importante.