Sto eseguendo test delle prestazioni contro ATS e si comporta in modo un po 'strano quando si utilizzano più macchine virtuali contro lo stesso account tabella/memoria.Limitazioni delle transazioni di Archiviazione tabella di Azure
L'intera pipeline non è bloccante (attesa/asincrona) e utilizza TPL per l'esecuzione simultanea e parallela.
Prima di tutto è molto strano che con questa configurazione sto ottenendo solo circa 1200 inserimenti. Funziona su un box L VM, cioè 4 core + 800mbps.
Inserisco 100.000 righe con PK univoco e RK univoco, che dovrebbero sfruttare la distribuzione definitiva.
Un comportamento ancora più deterministico è il seguente.
Quando eseguo 1 VM, ottengo circa 1200 inserimenti al secondo. Quando eseguo 3 VM ottengo circa 730 su ogni inserimento al secondo.
È piuttosto umoristico leggere il post sul blog in cui stanno specificando i propri obiettivi. https://azure.microsoft.com/en-gb/blog/windows-azures-flat-network-storage-and-2012-scalability-targets/
singola tabella Partition- una partizione tavolo sono tutte le entità in una tabella con lo stesso valore di chiave di partizione, e di solito le tabelle hanno molte partizioni. L'obiettivo di throughput per una singola partizione tabella è:
Fino a 2.000 soggetti al secondo
Nota, questo è per una singola partizione, e non una sola tabella. Pertanto, una tabella con un buon partizionamento può elaborare fino a 20.000 entità/secondo, che è l'obiettivo generale dell'account sopra descritto.
Cosa devo fare per essere in grado di utilizzare il 20k al secondo e come sarebbe possibile eseguire più di 1,2k per VM?
-
Aggiornamento:
Ora ho provato anche con 3 account di archiviazione per ogni singolo nodo e sta ancora ricevendo il comportamento prestazioni/limitazione. Quale non riesco a trovare una ragione logica per.
-
Aggiornamento 2:
Ho ottimizzato il codice ulteriormente e ora sto possibile eseguire circa 1550
-
Update 3:
Ora ho provato anche negli Stati Uniti occidentali. La performance è peggio lì. Circa il 33% in meno.
-
Update 4:
ho provato l'esecuzione del codice da una macchina XL. Che è 8 core invece di 4 e la doppia quantità di memoria e larghezza di banda e ha ottenuto un aumento del 2% delle prestazioni, quindi chiaramente questo problema non è dalla mia parte ..
Qual è la domanda? –
Buono @SimonMunro, aggiungendo :) – ptomasroos
Difficile che sia la risposta, ma ... Hai appena creato l'account di archiviazione che stai utilizzando o ce l'hai da un po '? C'era qualcosa in questo obiettivo con prestazioni più elevate che funzionava solo sugli account di archiviazione creati dopo una certa data. – Frans