Performance en MySQL 8.0.3 y distintos engines.
Hace unas semanas tuve que evaluar como optimizar un proceso en un nuevo servidor usando MariaDB y distintos motores, ahora haré las mismas verificaciones pero en MySQL 8.0.3.
Usaremos un contenedor con MySQL 8.0.3, ver el otro post para la comparativa con “MariaDB 10.2”
Las pruebas serán entre motores InnoDB and MyISAM.
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eae9dd946186 mysql80 "/entrypoint.sh mysq…" 24 minutes ago Up 4 minutes (healthy) 3306/tcp, 33060/tcp mysql803
Como parar y arrancar este contenedor con MySQL 8.0.3
# docker stop mysql803; docker start mysql803
Al arrancar desde cero, el uso de Memoria es de 285 Mb.
# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
eae9dd946186 mysql803 0.10% 285.9MiB / 7.681GiB 3.63% 7.96kB / 0B 5.73MB / 17.8MB 27
# mysql AAA -u root -p -h 172.17.0.2
Server version: 8.0.3-rc-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Comparativas de performances.
Al acabar la primera prueba, los consumos de recursos son:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
eae9dd946186 mysql803 3.00% 438.7MiB / 7.681GiB 5.58% 11.1kB / 880B 34.8MB / 3.25GB 29
-- InnoDB
Query OK, 909269 rows affected (1 min 16.63 sec)
Query OK, 909269 rows affected (1 min 17.65 sec)
Query OK, 909269 rows affected (1 min 15.45 sec)
-- MyISAM
Query OK, 909269 rows affected (27.28 sec)
Query OK, 909269 rows affected (26.82 sec)
Query OK, 909269 rows affected (26.96 sec)
La velocidad del disco SSD interno (donde corre el contenedor) es
# dd if=/dev/zero of=/var/lib/mysql/testfile bs=1G count=1 oflag=direct
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 4,14642 s, 259 MB/s