Closed Lobz closed 2 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
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.
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}
"}
Propostas para otimizar as páginas:
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:
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 |
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 |
Notamos lentidão após as atualizações recentes, pode estar relacionada às atualizações (verificar)