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
