[FUG-BR] ZFS vs UFS para MySQL

Willy Romão willyr.goncalves em gmail.com
Sex Dez 1 16:16:52 BRST 2017


Olá Pessoal.

Gostaria da opinião de vocês quanto a performance do ZFS e do UFS para os seguintes cenários.

Tenho dois ambientes em H.A. (CARP + HAST) rodando em homologação nos seguintes hardwares:

2x Dell PowerEdge R410:
8Gb RAM;
2x Xeon E5620;
Controladora RAID PERC H330 Mini;
1x 300GB 15K RPM SAS 6Gbps;

Configurações de Hardware/S.O. dos ambientes:
Sistema Operacional: FreeBSD 11.1-RELEASE-p4;
Modo de uso da controladora RAID: HBA (http://www.dell.com/support/manuals/us/en/19/poweredge-rc-h730/perc9ugpublication/switching-the-controller-to-hba-mode?guid=guid-1fcc87e1-d534-451a-9947-56f1175886c5&lang=en-us <http://www.dell.com/support/manuals/us/en/19/poweredge-rc-h730/perc9ugpublication/switching-the-controller-to-hba-mode?guid=guid-1fcc87e1-d534-451a-9947-56f1175886c5&lang=en-us>);
Driver da controladora utilizado: mrsas (https://www.freebsd.org/releases/11.1R/hardware.html#disk <https://www.freebsd.org/releases/11.1R/hardware.html#disk>);

Ambiente/Cenário 1 (ZFS):
Opções do Filesystem: noatime, compression=lz4;
Configurações do serviço MySQL: my.cnf default da instalação do MySQL no FreeBSD;

*Obs. 1: A partição onde há atuação do HAST para replicação dos dados é a partição do MySQL;
*Obs. 2: houveram tentativas de tuning no ZFS específico para o MySQL, mas que não mudaram em grandes fatores os resultados dos testes. (https://www.patpro.net/blog/index.php/2014/03/09/2617-mysql-on-zfs-on-freebsd/ <https://www.patpro.net/blog/index.php/2014/03/09/2617-mysql-on-zfs-on-freebsd/>);

Ambiente/Cenário 2 (UFS):
Opções no Filesystem: noatime;
Configurações do serviço MySQL: my.cnf default da instalação do MySQL no FreeBSD;

*Obs. 1: A partição onde há atuação do HAST para replicação dos dados é a partição do MySQL;


Testes de desempenho cenário 1 (ZFS):
Tempo de execução da Query1 pela primeira vez: ~1,99 s 
Tempo de execução da Query1 pela enésima vez: ~734 ms
Tempo de execução da Query2 pela primeira vez: ~3,73 s
Tempo de execução da Query2 pela enésima vez: ~1,16 s
*Obs. 1: As queries executadas nos testes, serão largamente utilizadas no sistema em produção;
*Obs. 2: Foram executadas também lotes de queries (SELECTs/INSERTs/UPDATEs), mas não há diferença significante proporcionalmente se tratando dos tempos de execução.


Testes de desempenho cenário 2 (UFS):
Tempo de execução da Query1 pela primeira vez: ~560 ms 
Tempo de execução da Query1 pela enésima vez: ~490 ms
Tempo de execução da Query2 pela primeira vez: ~1,16 s
Tempo de execução da Query2 pela enésima vez: ~734 ms
*Obs. 1: As queries executadas nos testes, serão largamente utilizadas no sistema em produção;
*Obs. 2: Foram executadas também lotes de queries (SELECTs/INSERTs/UPDATEs), mas não há diferença significante proporcionalmente se tratando dos tempos de execução.


Após muita leitura sobre comparações entre ZFS e UFS, entendo que para a maioria dos casos o UFS parece ser mais rápido, mas é claro, não há todas as features e nem a flexibilidade que há no ZFS.
Essas features e flexibilidade são muito importantes neste ambiente, logo, provavelmente eu usarei ZFS em produção.
De qualquer forma, entendo que a diferença de perfomance entre ZFS e UFS neste caso foi significativamente grande em comparação com os testes de performance que eu consegui analisar na internet.
Por este motivo, gostaria da opinião de vocês sobre o ambiente utilizando cada um desses filesystems, ou até uma possível correção que poderia fazer com que o ZFS chegasse um pouco mais perto do desempenho do UFS.

Desculpem pelo textão, mas foi a melhor forma que encontrei de passar todas essas informações.

Grato pela atenção,

Willy Romão G. França

Contatos / Contacts:
+55 (31) 3069-8109
+55 3003-5410 - Ramal / Extension: 7090
E-mail / Hangout: willyr.goncalves em gmail.com <mailto:willyr.goncalves em gmail.com>
LinkedIn: https://www.linkedin.com/in/willyrgf/
Twitter: @willyrgf




Mais detalhes sobre a lista de discussão freebsd