PostgresQL no volume do Amazon EBS, desempenho realista ou mudança para algo mais leve?

3

Estou trabalhando em um pequeno projeto de pesquisa, atualmente em execução como uma instância no ec2, e espero descobrir se estou indo pelo caminho certo. Nós, como milhares de outras pessoas, estamos fazendo uso de alguns twitters que transmitem feeds para reunir alguns dados para se divertirem e meu db parece estar tendo problemas para acompanhar, e as consultas demoram o que parece ser um tempo muito longo. Eu não sou um DBA por profissão, então vou apenas colocar algumas informações aqui e adicionar mais, se necessário.

Especificações do sistema:

ec2 xl, 15 gigas de ram

ebs: 4 unidades de 100 gb, raid 0.

O stream que estamos vendo analisamos cerca de 10k inserções por minuto.

3 tabelas principais, com os usuários rastreando em algum lugar na vizinhança de 26 milhões de linhas atualmente.

Essa quantidade de inserções nesse hardware é demais para ser feita a partir de ebs? Deveria dar uma olhada em algumas coisas com menos sobrecarga como o mongodb?

por Peck 28.02.2011 / 09:43

2 respostas

3

@ O link do Gnanam aponta para alguns bons conselhos, particularmente esta descrição de uma configuração de trabalho . Não vejo razão para evitar o uso do EBS, mas trate um volume do EBS como se fosse um único disco rígido em um servidor real: propenso a falhas. Assim, você vai querer um nível de RAID com boa resistência a falhas, então não RAID 0. E, dadas as suas necessidades, você quer um nível de RAID que seja rápido na gravação. Portanto, o RAID 10 em 6 a 10 volumes parece ser o melhor lugar para começar.

Quanto ao desempenho real, vai depender dos seus requisitos de indexação e do tamanho e tipo de dados que você está inserindo. O melhor da AWS é que é relativamente barato descobrir como uma certa configuração será executada. Então, o que você precisa fazer é criar alguns dados de amostra e uma maneira de simular o feed de entrada que está tentando processar (um script que insere os registros um de cada vez e grava uma instrução de log com um timestamp a cada X número de linhas, por exemplo). Provavelmente, tudo bem se os dados da amostra se repetirem ao longo do tempo para seus propósitos, mas certifique-se de que seu script possa ser executado por uma hora ou mais, pelo menos.

Agora, execute esse script em um banco de dados postgresql configurado em várias configurações do EBS, usando o snapshot ou o novo serviço Cloud Formation da Amazon. para produzir alguns pontos de partida reprodutíveis de forma confiável e medir as mudanças de desempenho à medida que você altera a configuração (e com o tempo também será importante). Você pode querer lançar configurações de volume único e RAID5 apenas para comparar.

    
por 04.03.2011 / 17:38
2

Isso pode ser útil para você em termos de desempenho do PostgreSQL na infraestrutura do Amazon EC2 / EBS: Desempenho do Postgresql no EC2 / EBS

    
por 04.03.2011 / 15:16