2016-11-06 3 views
0

Ich versuche, eine Webanwendungsanwendung basierend auf NodeJS zu erstellen, die einen Azure-Tabellenspeicher mit 1000 Einträgen abfragt. (Ich benutze ein Azure-Trail-Abonnement)So senken Sie die Azure-Tabellenspeicher-Latenz

Die implementierte Logik ruft eine eindeutige Entität mit Partition-Taste und Zeilenschlüssel ab, so dass es sehr schnell sein sollte und inspiriert von der von Troy Hunt erwarteten Latenzzeiten niedriger als 0.7 ms.

app.get('/pick', function (req, res, next) { 
    var parKey = req.param('parKey'); 
    var rowKey = req.param('rowKey'); 
    var getRes, startTime, endTime, tableSvc; 

    tableSvc = azure.createTableService().withFilter(retryOperations); 

    //Timestamp before accessing table storage 
    startTime = new Date().getTime(); 

    tableSvc.retrieveEntity('lookupTable01', parKey, rowKey, 
     function (error, result, response) { 
      if (!error) { 
       //Timestamp after returning the result 
       endTime = new Date().getTime(); 
       getRes = JSON.stringify(result); 
       res.send("found in " + (endTime - startTime) + " ms " + getRes); 

      } else { 
      //Timestamp after returnung an error 
       endTime = new Date().getTime(); 
       getRes = JSON.stringify(error); 
       res.send("Error in " + (endTime - startTime) + " ms " + getRes); 
      } 
}) 

Ich habe den Webanwendungsserver und das Speicherkonto im gleichen westeuropäischen Datenzentrum für optimale Ergebnisse eingerichtet. Die niedrigste Latenz betrug jedoch 47 ms (ohne die Netzwerklatenz)

Ich habe auch versucht, das gleiche Setup in der East US-Rechenzentrum und fand etwa die gleichen Ergebnisse.

+0

Es würde wirklich helfen, wenn Sie die Frage redigieren, um Ihren Code zu zeigen. –

Antwort

1

Normalerweise verwenden wir die Punktabfragen [spezieller Partitions- und Zeilenschlüssel], um die Tabelle wie Sie abzufragen. Ein weiterer Faktor ist die Abfragedichte. Die query, die auf der Partition basiert, ist wahrscheinlich ziemlich klein. Es gibt auch viele Faktoren, die sich auf die Leistung des Azure-Tabellenspeichers auswirken. Wie zum Beispiel Ort, Partitionsbenennungskonvention, Begrenzung der Datenrückgabe, die definierten Prinzipien der Tabelle und so weiter. Weitere Informationen zur Verbesserung der Leistung des Azure Storage finden Sie unter document.

+0

Danke für Ihre Hilfe. Ich folgte dem Dokument, aber die Latenz bleibt hoch. Ich werde nach einer anderen Lösung suchen, die eine genauere Steuerung als das Azure Storage Table-Angebot ermöglicht. – Harald

Verwandte Themen