Estou quase pensando em processar o CSV e criar CSV's por separado para
fazer o copy mesmo.

É um modelo de enderecos basicamente, com apenas umas 8 tabelas, onde um
endereco/locus pode ser pai de outro. Ex: Brasil é pai de DF que é pai de
Brasília, que é pai de asa sul, que é pai de SQS 116 que é pai de bloco G,
por exemplo. Entao a linha tem que ser decomposta, buscar o pai no banco se
já existe (mas eu cacheio pelo hash do objeto que foi gerado no PHP para
não ficar indo no banco o tempo todo), e aí tem tipos e etc que também são
cacheados. Ou seja, nada de outro planeta.

Só que está degradando, e não é no PHP, pois é save que automaticamente o
arquivo todo é processado em questão de minutos, e o consumo de memória mal
chega a 500MB.

Agora estou em 300.000 registros já, e a velocidade está em 20 linhas do
CSV por, mas no comeco, no primeiro minuto, ele processa facilmente 2000
linhas. Enfim... Tá foda. :-D

Em 11 de março de 2017 19:09, Francisco Porfirio <
[email protected]> escreveu:

>
> Cara,sem saber exatamente o que você está fazendo, eu diria para desativar
> o archive e procurar usar o comando copy.
>
>
>
> Em sáb, 11 de mar de 2017 às 12:26, Cleiton Luiz Domazak <
> [email protected]> escreveu:
>
>> 2017-03-11 9:57 GMT-03:00 Pablo Sánchez <[email protected]>:
>>
>> Caros,
>>
>> Estou com um pequeno probleminha de performance em importacao, que não
>> tem relacão com o código, mas sim o Postgres.
>>
>> Basicamente é um CSV que popula uma tabela auto-relacional, o CSV tem
>> 650.000 linhas
>>
>> No comeco a importacão estava indo bem (200 linhas por minuto), assim que
>> chegou a 50.000 ja tinha caido para 120 por minuto, com 75.000 linhas, caiu
>> para 80 por minuto e agora esta em 60 por minuto, o que mostra uma
>> degradacao constante.
>>
>>
>> Seria muito útil você postar o comando, pois sem saber como a carga é
>> feita, não tem como fazer nenhuma análise.
>>
>> Mas já tive esse problema quando a carga é feita com algum tipo de
>> checagem dos dados importados, pois conforme você faz a carga realmente
>> pode ocorrer uma degradação na performance, fazendo com que quanto mais
>> dados você insere, mais lento se torna a carga.
>>
>>
>> Ja foram desativados todos os relacionamentos, todas as triggers, sequer
>> foram criados indices ainda, ja foi feito renice dos processos ppara -19, o
>> script de importacao mal come memoria para cachear alguns objetos de
>> hierarquia mais alta (pais, estado, mmunicipio, cidade), ajustei
>> shared_buffers e o escambal, e nada de aumentar a performance. Só faltaram
>> agora tunnings de kernel do Linux mesmo.
>>
>> Comecamos a importar ontem as 16hs, e as 16h40 tinhamos umas 8000 linhas
>> processadas ja, mas jah se passaram quase 21 horas e estamos so agora
>> chegando nas 100.000 linhas. Nesse ritmo, soh vai terminar lah pelo fim de
>> semana que vem.
>>
>> Alguém tem alguma sugestão que não essas já mencionadas, ou alguém
>> saberia indicar o porque? Eu até já desativei o processamento das colunas
>> de geography achando que poderia melhorar, mas sem melhora significativa (o
>> que me rendeu algumas linhas perdidas e sem essa informacao, que depois eu
>> dou um jeito manual de arrumar isso).
>>
>> --
>>
>>
>>
>>
>>
>> *Pablo Santiago Sánchez*
>> ZCE ZEND006757
>> [email protected]
>> (61) 9843-0883
>> http://www.sansis.com.br
>> *"Pluralitas non est ponenda sine necessitate"*
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> --
> Atenciosamente
> Francisco Porfirio Ribeiro Neto
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 





*Pablo Santiago Sánchez*
ZCE ZEND006757
[email protected]
(61) 9843-0883
http://www.sansis.com.br
*"Pluralitas non est ponenda sine necessitate"*
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a