Performance en SQL Server 2017.
Crearé las mismas tablas de orígen (2) y el formato de la tabla de destino. Utilicé una herramienta de migración de datos de MySQL a SQL Server provista por Microsoft (Microsoft SQL Server Migration Assistant for MySQL)
Usaremos el contenedor que habíamos creado con SQL Server 2017.
# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
68396ba0e84e sql2017 1.60% 392.2MiB / 7.681GiB 4.99% 840kB / 270kB 1.57GB / 1.2GB 163
Para reiniciar el servidor.
# docker stop sql2017; docker start sql2017
Nos conectamos desde nuestro equipo real con Linux usando “sqlcmd” directamente al motor SQL Server 2017.
# sqlcmd -U sa -P "Testing!" -H 172.17.0.2
1> select getdate();truncate table addition ; select getdate();
2> go
1> select getdate();select .......; select getdate();
2> go
-----------------------
2017-12-19 15:01:50.873
(1 rows affected)
(909269 rows affected)
-----------------------
2017-12-19 15:01:55.910
-----------------------
2017-12-19 15:28:09.000
(1 rows affected)
(909269 rows affected)
-----------------------
2017-12-19 15:28:16.753
-----------------------
2017-12-19 15:28:56.300
(1 rows affected)
(909269 rows affected)
-----------------------
2017-12-19 15:29:00.933
-----------------------
2017-12-19 15:30:03.937
(1 rows affected)
(909269 rows affected)
-----------------------
2017-12-19 15:30:08.473
La memoria subió ligeramente y no volvió a reducirse. Vemos que DOCKER nos sirve también para controlar la memoria real usada por un contenedor/servicio.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
68396ba0e84e sql2017 1.71% 463.6MiB / 7.681GiB 5.89% 843kB / 271kB 1.63GB / 1.77GB 165
Los tiempos con parada de motor y con el motor en caliente, siempre son similares. Cercanos a los 5 segundos.