lageIBUSP / notaR

Repositório para o código do notaR 4.0
2 stars 2 forks source link

Lentidão no notaR #105

Closed Lobz closed 2 months ago

Lobz commented 4 months ago

Notamos lentidão após as atualizações recentes, pode estar relacionada às atualizações (verificar)

Lobz commented 4 months ago

Estamos trabalhando na otimização do sistema. Notamos que as dependências de dev estavam sendo instaladas em prod, e estamos modificando a pipeline para evitar que isso aconteça

Lobz commented 4 months ago

Achei um artigo que diz que includes e foreachs são muito lentos no blade. Como estamos usando ambos abundantemente, seria bom verificar se isso procede.

Lobz commented 2 months ago

Além de lentidão estamos tendo timeouts em algumas páginas:

[2024-06-17 17:30:56] production.ERROR: Maximum execution time of 30 seconds exceeded {"userId":1,"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Maximum execution time of 30 seconds exceeded at /var/www/html/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php:1067)
[stacktrace]
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(245): Symfony\\Component\\ErrorHandler\\Error\\FatalError->__construct(message: '...', code: '...', error: '...', traceOffset: '...', traceArgs: '...', trace: '...')
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(232): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->fatalErrorFromPhpError(error: '...', traceOffset: '...')
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(256): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleShutdown()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(0): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure:/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:255-257}()
#4 {main}
"} 
Lobz commented 2 months ago

Propostas para otimizar as páginas:

Lobz commented 2 months ago

Também precisamos diminuir o número de requests nas listagens de exercícios. Por exemplo, na página de usuário, esse é o custo de acesso ao banco de dados: image

Lobz commented 2 months ago

Conseguimos diminuir significativamente o tempo de latência das páginas. Comparação do dia 30/04 para o dia 20/06:

Rotas load 30/04 load 20/06
/turma 8.76 s 371 ms
/turma/9 3.70 s 490 ms
/user 10.99 s 594 ms
/user/10 17.49 s 725 ms
/exercicio 3.97 s 568 ms
/exercicio/29 2.56 s 418 ms
/arquivo 3.07 s 394 ms
/impedimentos 2.77 s 374 ms
/relatorio 2.54 s 314 ms
/relatorio?notas NA 2.82 s
/relatorio?reali NA 3.28 s

/user dia 2024-04-30 /user dia 2024-06-20

Lobz commented 2 months ago

Conseguimos diminuir significativamente o tempo de latência das páginas. Comparação do dia 30/04 para o dia 20/06:

Rotas load 30/04 load 20/06
/turma 8.76 s 371 ms
/turma/9 3.70 s 490 ms
/user 10.99 s 594 ms
/user/10 17.49 s 725 ms
/exercicio 3.97 s 568 ms
/exercicio/29 2.56 s 418 ms
/arquivo 3.07 s 394 ms
/impedimentos 2.77 s 374 ms
/relatorio 2.54 s 314 ms
/relatorio?notas NA 2.82 s
/relatorio?reali NA 3.28 s

/user dia 2024-04-30 /user dia 2024-06-20