Sintonia dos Parâmetros em Tempo de Sistema/Compilação e na Inicialização
Nós iniciamos com o fator do nível do sistema pois algumas destas decisões devem ser feitas bem cedo. Em outros casos uma rápida olhada para esta seção pode satisfazer porque ela não é tão importante para os grandes ganhos. Entretanto, é sempre bom ter ter noções de como você pode obter melhorias alterando coisas neste nível.
Qual sistema operacional a usar é realmente importante! Para obter o melhor uso de máquinas com múltiplas CPUs você deve utilizar Solaris (porque a sua implemetação das threads funcionam muito bem) ou Linux (porque o kernel 2.2 tem suporte SMP muito bom). Também, em Linux mais antigos temos o limite de tamanho de arquivo de 2G por padrão. Se você tem tal kernel e precisa desesperadamente de trabalhar com arquivos maiores que 2G em máquinas intel Linux, você deve obter o patch LFS para o sistema de arquivos ext2. Outros sistemas de arquivo como ReiserFS e XFS não possuem esta limitação de 2G.
Como ainda não temos o MariaDB em produção em muitas outras plataformas, nós aconselhamos que você teste a plataforma pretendida antes de escolhe-la, se possível.
Outras dicas:
- Se você possui RAM suficiente, você pode remover todos os dispositivos de troca. Alguns sistemas operacionais irão utilizar um disposotico de troca em alguns contextos, mesmo se você possuir memória livre.
- Utilize a opção do MariaDB
--skip-external-locking
para evitar locks externos. Perceba que isto não irá afetar a funcionalidade do MariaDB se você estiver executando um único servidor. Apenas lembre-se de desligar o servidor (ou travar as partes relevantes) antes de executarmyisamchk
. Em alguns sistemas esta opção é obrigatório porque o lock externo não funcionam em nenhum caso.
A opção
--skip-external-locking
está ligada por padrão a partir do MariaDB 4.0. Antes disto, era ligada por padrão quando compilando com MIT-pthreads, porqueflock()
não é totalmente suportado pelas MIT-pthreads em todas plataformas. É também o padrão para Linux pois o bloqueio de arquivos no Linux não é muito seguro.O único caso que você não pode utilizar
--skip-external-locking
é se você precisa de vários servidores MariaDB (não clientes) acessando os mesmos dados, ou executarmyisamchk
na tabela sem dizer ao servidor para descarregar e travar as tabelas primeiroVocê pode continuar usando
LOCK TABLES
/UNLOCK TABLES
mesmo se você estiver utilizando--skip-external-locking
.