1 messaggio dal 18 giugno 2021
Ciao devo implementare un'API in net core che accetti elementi (con 5 campi semplici), controllare se esistono su un database server SQL e inserirli/aggiornarli. Ogni utente chiamerà questa API 2-3 volte al giorno e dovrà passare circa 500 elementi.

Qual è l'approccio migliore in termini di prestazioni (per non sovraccaricare il mio sistema):
A) Accettare un JSON compresso, leggere e scrivere 500 record in sequenza e restituire lo stato
B) Accettare un singolo elemento e l'utente chiamerà l'API per ogni elemento (quindi circa 500 x 3 volte al giorno)
C) Accettare un JSON compresso, restituire un ID operazione, eseguire le operazioni in un task asincrono e restituire il risultato in un'API diversa tramite l'ID operazione.

Grazie dei pareri
497 messaggi dal 08 febbraio 2009
Ciao

Non mi è ben chiara la domanda: ti interessano le prestazioni (tempo) o il consumo di risorse?
Perchè parli di prestazioni ma specifichi "per non intasare il sistema" che di solito riguarda le risorse.


Non è facile dare una risposta significativa, poichè di pende molto da cosa si debba ottenere e quali sono le caratteristiche dell'infrastruttura.

In linea di massima, per le prestazioni, conviene mandare un messaggio unico con tutti gli elementi, poichè mandare un elemento per volta genera abbastanza overhead:
- Si deve sempre stabilire una nuova connessione fra client e server
- Si deve sempre stabilire una nuova connessione fra server e DB
- ...


Quanto al fatto di rispondere subito al client o dare un ID operazione, dipende da come vuoi gestire la cosa e dai tempi di attesa.
Pensa all'utente finale. Se deve fare il click nella tua applicazione e aspettare 5 secondi col frullino che gira mentre il server fa gli aggiornamenti, allora può andare bene.

Se deve attendere di più, può diventare un'esperienza poco soddisfacente dal punto di vista usabilità. In tal caso meglio liberare subito il client (ID operazione) e quindi dare un popup quando le operazioni sono terminate.


Non so se possa esserti d'aiuto come risposta

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.