Domanda

Adoro il modo in cui Ajax fa sì che un'app Web funzioni in modo più simile a un'app desktop, ma sono preoccupata per i successi su un sito ad alto volume. Sto sviluppando un'app di database in questo momento basata su intranet, a cui non potranno accedere più di 2-4 persone contemporaneamente. Me ne sto fregando l'Ajax, ma mi ha fatto pensare, quanto l'Ajax è troppo?

A che punto il volume degli hit supera i benefici visti utilizzando Ajax? Non sembra davvero, rispetto a un aggiornamento di un'intera pagina, poiché in teoria stai solo aggiornando le parti che devono essere aggiornate.

Sono curioso di sapere se qualcuno di voi ha usato Ajax su siti ad alto volume e con quale capacità lo ha usato? Crea problemi di ridimensionamento?

È stato utile?

Soluzione

Nel mio progetto attuale, utilizziamo Ajax e abbiamo avuto problemi di ridimensionamento. Poiché il mio progetto attuale è un sito J2EE che esegue il cronometraggio per i dipendenti di una grande città urbana, abbiamo scoperto che è meglio se il lato browser può memorizzare nella cache dati che non cambieranno per la durata di una sessione utente. Fortunatamente ci stiamo muovendo verso un modello in cui abbiamo un unico processo di amministrazione, il cronometraggio per il maggior numero possibile di dipendenti. Ciò sarebbe simile a come potrebbe funzionare un'applicazione ERP (o un'applicazione e-mail). Di conseguenza, la nostra esigenza aziendale è che il lato browser possa contenere molti dati, ma non ci aspettiamo che il volume degli hit sia un problema serio. Quindi abbiamo mantenuto un'isola di dati XML sul lato browser. Inoltre, cariciamo i dati solo in base alle necessità.

Consiglio vivamente il libro Ajax Design Patterns o il loro site .

Altri suggerimenti

Ajax dovrebbe aiutare la tua larghezza di banda su un sito ad alto volume se questa è la tua preoccupazione poiché stai, come hai detto, aggiornando solo le parti che devono essere aggiornate. Il mio problema con Ajax è che il tuo sito può essere reso inutile se i visitatori non hanno javascript abilitato e la maggior parte delle volte non ho voglia di codificare nuovamente il sito per utenti non javascript.

Guardalo in questo modo: AJAX non deve essere l'opzione solo a causa della possibilità di! script, deve esistere come strato sopra un'architettura esistente per fornire un'esperienza superiore in alcuni Saluti. Detto questo, è impossibile per AJAX creare più richieste o più lavoro rispetto al semplice HTML perché gestisce esattamente lo stesso trasferimento di dati.

Dove può risparmiare larghezza di banda e carico del server è perché AJAX ti offre la possibilità di trasferire solo i dati. Puoi risparmiare su richieste HTML, immagini, CSS, ecc. Ridondanti con ogni aggiornamento della pagina, fornendo al contempo un'esperienza utente più scattante.

Come mike nvck sottolinea che la tecnica del polling è una grande eccezione a questa regola, ma si tratta della tecnica e non della tecnologia: avresti lo stesso tipo di impatto se avessi una semplice pagina sondaggio.

Comprendi lo strumento e usalo per quello che è stato progettato. Se l'implementazione di AJAX sta riducendo le prestazioni, hai fatto qualcosa di sbagliato.

(in seguito, la mia esperienza di profilazione di AJAX vs HTML semplice tende a determinare una larghezza di banda del ~ 60%, ~ 80-90% di prestazioni)

Il problema di ridimensionamento più comune delle app ajax è quando devono essere configurate per ricontrollare con il server per vedere se il contenuto è stato aggiornato nel frattempo senza la necessità che l'utente lo richieda attivamente. 5 client che controllano ogni 10 secondi non sono 5000 client che controllano ogni 10 secondi.

Ajax da un lato riduce il carico di lavoro del server perché di solito mostra o aggiorna solo una parte della pagina, mentre dall'altro lato aumenta il numero di hit sul server. Direi che tutto dipende dall'architettura della tua applicazione web. Se la tua applicazione richiede molta elaborazione per ogni hit (come l'accesso al database) indipendentemente dalle dimensioni della risposta, Ajax ti colpirà molto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top