I dati di precaricamento di Apache prima di servire un sito SPA danneggiano le prestazioni?

3

Ho questa applicazione contenente 2 parti:

  • Web SPA rivolto all'utente servito da Apache
  • Server API NodeJS

Quando un utente accede al Web SPA, Apache eseguirà l'autenticazione e prelettura dei dati per quell'utente effettuando una richiesta POST e GET all'API prima di servire la pagina. Funziona bene per i giorni normali, ma è piuttosto lento quando c'è molto traffico.

Oltre a migliorare l'API, ritengo che delegare l'autenticazione e il recupero dei dati sul lato client migliorerebbe le prestazioni.

Le mie domande sono:

  • Il precaricamento dei dati da parte di Apache prima di servire la pagina SPA fa male al rendimento?
  • E sarebbe meglio consentire al client di eseguire il recupero?
posta Khang 24.02.2018 - 08:14
fonte

2 risposte

3

Odio fissare fissi impegnati. I migliori progetti SPA mostrano all'utente QUALCOSA mentre caricano i dati in background. Caricarlo dal client o dal server non è affatto importante per l'utente. L'utente vuole vedere qualcosa per sapere che il tuo sito è vivo in modo che possano interrompere l'aggiornamento. Se questo significa mostrare loro un carico incompleto, così sia. Ottieni qualcosa sullo schermo.

    
risposta data 06.03.2018 - 19:25
fonte
1

Senza essere sarcastico, hai risposto (parzialmente) alla tua domanda:

Does prefetch data by Apache before serving a SPA site hurt performance?

but it is pretty slow when there is a lot of traffic.

Ma il problema non è né l'API in quanto tale, né Apache né il lato client o server. Il problema che stai incontrando è un segno, che c'è spazio per migliorare il tuo design. Se registrare gli utenti nel tuo sistema è un problema, questo dovrebbe essere scomposto dal back-end corrente in una parte separata del back-end: si tratti di un endpoint personalizzato o di una soluzione come keycloak .

E come ha scritto CandiedOrange: non c'è niente di più frustrante di

staring at busy spinners

o guardando le pagine vuote, perché il tuo SPA non poteva eseguire il rendering del frontend a causa di informazioni mancanti.

Leggi: Perché il rendimento conta

Forse potresti migliorare il tuo frontend con lavoratori del servizio e creare un app web progressiva .

Ma per dare più del consiglio generale "per migliorare", devi dirci maggiori dettagli sui problemi di prestazioni effettivi che stai avendo.

    
risposta data 06.04.2018 - 10:01
fonte

Leggi altre domande sui tag