[FUG-BR] ZFS vs UFS para MySQL

Paulo Henrique paulo.rddck em bsd.com.br
Qui Fev 15 03:15:13 BRST 2018


Em 15 de fev de 2018 01:58, "Willy Romão" <willyr.goncalves em gmail.com>
escreveu:

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@
gmail.com>
LinkedIn: https://www.linkedin.com/in/willyrgf/
Twitter: @willyrgf


-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



O ZFS só vai ter diferença quando se tem muita memoria para manter cache de
leitura no ARC/L2ARC e o principal fator que melhora é com relação a
escrita pois a concorrência entre leitura e escrita do disco diminuira com
blocos destinados a leitura sendo entregue atravéz do cache de memoria.

Att.


Mais detalhes sobre a lista de discussão freebsd