Apache stava rallentando la produzione. Dopo aver cercato le risposte per qualche tempo, sono finalmente passato al canale IRC #apache e i professionisti mi hanno fatto controllare la modalità apache con questo comando:
sudo apachectl -V
e siamo stati allarmati di scoprire che Server MPM è prefork . Hanno detto con enfasi: NON UTILIZZARE LA PREFORK SU UN SERVER DI PRODUZIONE. A quanto pare, i pacchetti Ubuntu (presumibilmente ereditati da Debian?) Insistono sull'esecuzione di apache in modalità prefork nonostante il fatto che il metodo raccomandato per eseguire PHP con Apache raccomanda chiaramente proxy_fcgi e php-fpm, quindi fcgid e alla fine dice che non dovresti usa prefork:
Perché non dovresti più usare mod_php con prefork mpm
- mod_php viene caricato in ogni processo httpd in ogni momento. Anche quando httpd serve contenuto statico / non php, quella memoria è in uso.
- mod_php non è thread-safe e ti obbliga a rimanere con prefork mpm (multi process, no thread), che è la configurazione più lenta possibile
Quella pagina contiene anche alcuni dettagli su PHP-FPM, ma questo sembra un po 'elaborato e poco chiaro e sembra comportare molta configurazione manuale. Sono deluso e sorpreso che Ubuntu 16 non abbia opzioni di pacchetto per la modalità fastCGI o qualcosa del genere.
Ho provato a passare apache in modalità evento utilizzando a2enmod e quando ho provato a eseguire il backup di apache, ho ricevuto un errore:
Apache esegue un MPM con thread, ma il tuo modulo PHP non è compilato per essere thread-safe. Devi ricompilare PHP
Ad ogni modo, mi chiedevo se qualcuno avesse alcune istruzioni minime e dettagliate per far funzionare la modalità fastCGI su Ubuntu 16 con PHP 7.0 facendo affidamento il più possibile sugli installatori di pacchetti. Attualmente sto esaminando molte istruzioni vaghe e poco spiegate e sono preoccupato di confondere il mio ambiente di produzione con decisioni sbagliate.
Inoltre, qualcuno dovrebbe aggiungere mpm-event come opzione tag. Questo è ciò che i ragazzi di #apache IRC hanno raccomandato.