Hola. El «server Throughput» y «Server latency» se pueden medir de muchas formas. En este post vamos a explicar 2:
- Una utilizando dd
- Otra utilizando emacs
Así es. Instalando emacs en una máquina vamos a poder calcular si estamos en una máquina buena o en una mierda pinchada en un palo.
Un ejemplo si estamos en una máquina con Arch:
$ time sudo pacman -Sy --noconfirm emacs
Eso nos dará un resultado que en realidad no es preciso. Algo así:
A esta forma la llamo «la formula emacs» (tu puedes llamarlo como te de la gana). Simplemente viendo si emacs se instala bien podemos tener 2 percepciones: La conexión es buena, la escritura y lectura en disco son rápidas.
En los discos «viejunos» solías escuchar al disco rascar y tardar la cosa. Ahora el proceso es rapidísimo y silencioso en los discos más nuevos.
SI andas en una máquina en la que cuando instaladas con yum, pacman, apt, eopkg, … algo y va follado es que andas en una máquina que casi que va a ser crema de la buena, de la pastelera.
Eso está bien pero necesito algo más preciso
Pues hazte un programa en C para esto. No es complicado de hacer y te servirá siempre que pises una nueva máquina.
Si no te entusiasma eso puedes tirar de dd para calcular el rendimiento (cuantos megas puedo escribir en disco al segundo) o la latencia de lectura (cuanto tarda en leer algo).
Lo que viene a ser comprobar escritura y lectura.
Muy interesante de medir antes de colocar una base de datos por ejemplo.
En fin. Vamos a la mandanga buena: # Server Throughput for i in {1..10}; do s=$(dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync 2>&1 | grep -i "s,"); echo -en "$i\tServer Throughput (write speed)\t$s\n"; done # Server Latency for i in {1..10}; do s=$(dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync 2>&1 | grep -i "s," | awk {'print$8'}); echo -en "$i\tServer Latency\t\t\t$s\n"; done
Esos 2 oneliners nos van a permitir obtener datos más precisos. Aquí una captura en mi PC:
Mi máquina por ejemplo es buena cosa para calzarle una base de datos.
Mientras que muchos de los VPS que te ofertan lo mismo son una mierda pinchada en un palo y has de mirar si no te sale mejor pillarte un dedicado bueno y virtualizar allí lo que quieras.
Esto a mi no me sirve para una máquina que no va a servir para mucho. Esto me sirve para máquinas que van a ser el core de algo.
Las bases de datos por ejemplo es bueno en máquinas de lectura y escritura rápida. Mientras que lo mismo un servidor para backups te la suda si va lento.
Se hacen backups para no utilizarlos nunca :). Pero se hacen para cuando toca utilizarlos.
Las máquinas en las que guardas esos backups lo mismo te da igual pero las cosas de producción lo mismo no tanto.
Y eso es un poco lo que quería compartir hoy.
saludos cordiales.