Por algum motivo, inserções em varbinary(max) col com FILESTREAM ou leituras dessa coluna levam 10 segundos com tedioso. Aproveitei o tempo para rastrear o gargalo do meu aplicativo de nó de volta ao tedioso. Eu testei a seguinte consulta usando aproximadamente dois arquivos de 25 MB.
select * from documents where file_extension = 'zip'
MSSQL Management Studio
Ferramentas de desenvolvimento do Chrome
Trecho de código (não completo)
Olá @sammaniamsam ,
Obrigado por apontar isso. Eu acho que isso pode ser devido à forma como a análise de token é implementada no Tedious, ou seja, há muitos retornos de chamada assíncronos que ocupam muita memória, o que se torna ainda mais ao usar varbinary(max) e talvez varchar(max) também. Temos um plano para refatorar como as coisas são implementadas no Tedious para aumentar o desempenho em um futuro próximo.
Quais são seus pensamentos @arthurschreiber , @MichaelSun90 ?
Oi @sammaniamsam , estou curioso para saber qual versão do Tedious você está usando que causa esse gargalo de desempenho? #1006
@IanChokS Estou usando "^5.0.3"
Ok, depois de analisar todos os problemas abertos no momento, fica claro que o bloqueio de desempenho é um problema comum (por exemplo, #879, #781,#475,#467, #319, #303). Atualmente, temos em nosso roteiro coisas como implementação do recurso Always Encrypted, validação/conversão de tipo de dados aprimorada , provedores de autenticação plugáveis e refatoração de tipos de dados atuais . Mas, com base nos problemas levantados, parece que esse bloqueio de desempenho é a barreira mais comum que as pessoas enfrentam ao usar o tedioso. Estou discutindo com Arthur e a equipe sobre qual trabalho precisa ser priorizado, então se você acha que melhorar o desempenho é a maior mudança que gostaria de ver, deixe seu like ou comente sua opinião sobre como devemos seguir em frente. Qualquer feedback seria de grande ajuda! 🙇
WIP para corrigir problemas de desempenho -> #1037
Descrição: #1038
Olá @sammaniamsam , recentemente mesclamos #1049, #1044, #1037 que esperamos melhorar o desempenho. Você se importa se você executar seu benchmark novamente no branch master mais recente e nos informar se você observar uma melhora no desempenho do seu lado?
Obrigado! 🙇
edit: ainda não foi lançado no npm, mas as alterações estão no branch master atual
@IanChokS Absolutamente! Obrigado pessoal por cuidar disso. Estou ansioso para testar as novas melhorias.
@IanChokS Os resultados estão na tabela abaixo. Deixe-me saber se você tiver alguma dúvida.
Método | Versão tediosa | Número de arquivos | Tamanho | Tempo para executar (ms)
-- | -- | -- | -- | --
Leia | ^6.3.0 | 1 | 23,33MB | 2435.834
Leia | ^6.3.0 | 2 | 46,66 MB | 5008.435
Leia | ^6.3.0 | 3 | 136,5 KB | 329.727
Inserir | ^6.3.0 | 2 | 11,9 MB | 4316,95
Inserir | ^6.3.0 | 4 | 59 KB | 42.864
Leia | Último Mestre | 1 | 23,33MB | 2771.478
Leia | Último Mestre | 2 | 46,66 MB | 4877.394
Leia | Último Mestre | 3 | 136,5 KB | 93.575
Inserir | Último Mestre | 2 | 11,9 MB | 2535.267
Inserir | Último Mestre | 4 | 59 KB | 43.886
Isso parece bom! Corresponde aos nossos resultados para inserções. Por exemplo, o uso de memória caiu pela metade.
Definitivamente, tentaremos aumentar o tempo de leitura também no futuro 💪
:tada: Este problema foi resolvido na versão 8.1.0 :tada:
O lançamento está disponível em:
Seu bot de lançamento semântico :package::rocket:
Comentários muito úteis
Ok, depois de analisar todos os problemas abertos no momento, fica claro que o bloqueio de desempenho é um problema comum (por exemplo, #879, #781,#475,#467, #319, #303). Atualmente, temos em nosso roteiro coisas como implementação do recurso Always Encrypted, validação/conversão de tipo de dados aprimorada , provedores de autenticação plugáveis e refatoração de tipos de dados atuais . Mas, com base nos problemas levantados, parece que esse bloqueio de desempenho é a barreira mais comum que as pessoas enfrentam ao usar o tedioso. Estou discutindo com Arthur e a equipe sobre qual trabalho precisa ser priorizado, então se você acha que melhorar o desempenho é a maior mudança que gostaria de ver, deixe seu like ou comente sua opinião sobre como devemos seguir em frente. Qualquer feedback seria de grande ajuda! 🙇