En esta ocasión hemos querido probar dos posibilidades nativas que pueden reducir el tiempo de realización de un backup en MICROSOFT SQL SERVER: la compresión y la opción de dividir el backup en varios ficheros.
Para esta prueba hemos utilizado una base de datos de 20GB y hemos resumido los resultados en una pequeña tabla:
BACKUP | TIME (SECONDS) | MB/SEC | PERCENT |
SINGLE | 989.650 | 20.58 | 0% |
MULTIPLE (6 FILES) | 770.565 | 26.43 | 22% |
SINGLE COMPRESSED | 312.294 | 65.23 | 68% |
Tomando el backup sin comprimir y un único fichero como referencia, el backup múltiple arroja una mejora de tiempo de un 22% y el backup comprimido algo más de 68%.
En nuestro test la rebaja es de solo unos minutos debido a que la base de datos solo tiene 20GB de tamaño, pero si estos resultados se extrapolan a bases de datos grandes la mejora es lo suficientemente importante como para considerarlo.
Un coste a tener en cuenta en los backup comprimidos es el aumento en el coste de cpu. Para comprobar como aumenta el coste tenemos un Extended Event que recoge este dato cada minuto y lo guarda en una base de datos.
Estos son los resultados:
BACKUP | HORA | CPU COST |
BACKUP | 10:37 | 0 |
BACKUP | 10:39 | 0 |
BACKUP | 10:41 | 0 |
BACKUP | 10:43 | 0 |
BACKUP | 10:45 | 0 |
BACKUP | 10:47 | 0 |
BACKUP | 10:49 | 0 |
BACKUP | 10:51 | 0 |
BACKUP | 10:53 | 0 |
WAIT | 10:55 | 0 |
BACKUP 6 FILES | 10:57 | 0 |
BACKUP 6 FILES | 10:59 | 0 |
BACKUP 6 FILES | 11:01 | 1 |
BACKUP 6 FILES | 11:03 | 0 |
BACKUP 6 FILES | 11:05 | 0 |
BACKUP 6 FILES | 11:07 | 0 |
BACKUP 6 FILES | 11:09 | 0 |
WAIT | 11:11 | 0 |
BACKUP COMPRESSED | 11:13 | 0 |
BACKUP COMPRESSED | 11:15 | 14 |
BACKUP COMPRESSED | 11:17 | 12 |
Con todo esto queremos hacer una demostración de las diferentes posibilidades que nos proporciona SQL Server de realizar backups y su impacto en nuestro entorno. Ahora depende de nosotros valorar que es lo más interesante para nuestro proyecto.