Para otimizar o desempenho do php-fpm para uma aplicação Laravel, devemos realizar os seguintes ajustes:
Define o limite máximo de memória para scripts PHP. Laravel pode demandar memória considerável.
Recomendação:
memory_limit = 512M
Ajuste conforme seu uso (pode reduzir para 256M se houver cache intenso e otimizações).
Tempo máximo de execução do script. Evita scripts travados.
Recomendação:
max_execution_time = 60
Pode aumentar para 120 se existirem processos longos.
Tempo máximo para processar os dados de entrada (POST, GET).
Recomendação:
max_input_time = 60
Controle tamanho máximo de dados postados e uploads.
Recomendação:
post_max_size = 50M upload_max_filesize = 50M
Ajuste conforme necessidade da aplicação.
Laravel utiliza muitas inclusões de arquivos. Aumentar o cache melhora desempenho.
Recomendação:
realpath_cache_size = 4096k realpath_cache_ttl = 600
Habilitar e otimizar OPCache para melhorar o desempenho PHP.
Recomendação:
opcache.enable=1 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 opcache.revalidate_freq=2 opcache.validate_timestamps=1 opcache.fast_shutdown=1
Em produção, desative exibição e habilite log de erros.
Recomendação:
display_errors = Off log_errors = On error_log = /var/log/php_errors.log
Se usar sessão base arquivo (padrão).
Recomendação:
session.gc_maxlifetime = 1440 session.save_handler = files session.save_path = "/var/lib/php/sessions"
Se usar Redis/Memcached para sessão, configure no Laravel.
pm = dynamic pm.max_children = 10 pm.start_servers = 3 pm.min_spare_servers = 2 pm.max_spare_servers = 5
Ajuste de acordo com a demanda e memória da VPS.
* Use cache Laravel com Redis ou Memcached para melhorar performance. * Gere cache de configuração e rota:
* Otimize autoload do Composer com:
memory_limit = 512M max_execution_time = 60 max_input_time = 60 post_max_size = 50M upload_max_filesize = 50M realpath_cache_size = 4096k realpath_cache_ttl = 600
opcache.enable=1 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 opcache.revalidate_freq=2 opcache.validate_timestamps=1 opcache.fast_shutdown=1
display_errors = Off log_errors = On error_log = /var/log/php_errors.log
session.gc_maxlifetime = 1440 session.save_handler = files session.save_path = "/var/lib/php/sessions"