2016-11-06 6 views
0

Я пытаюсь создать приложение веб-приложения на основе NodeJS, которое запрашивает хранилище таблиц Azure с 1000 записей. (Я использую подписку Azure trail)Как снизить латентность таблицы лазурных таблиц

Реализованная логика извлекает уникальный объект, используя ключ раздела и строку-ключ, поэтому он должен быть очень быстрым и вдохновленным blog, опубликованным Troy Hunt. Я ожидал, что время ожидания ниже, чем 7 мс.

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); 
      } 
}) 

Я установил сервер веб-приложений и учетную запись хранилища в одном и том же западноевропейском центре обработки данных для достижения оптимальных результатов. Однако наименьшая латентность оказалась равной 47 мс (за исключением латентности сети)

Я также попытался установить такую ​​же установку в информационном центре East US и нашел примерно те же результаты.

+0

Это действительно поможет, если вы отредактировали вопрос, чтобы показать свой код. –

ответ

1

Обычно мы используем Point Queries [специальный ключ раздела и ключ строки] для запроса таблицы, как и вы. Другим фактором является плотность запросов. query, что база на разделе, вероятно, довольно мала. Существует также множество факторов, влияющих на производительность табличного хранилища Azure. Такие, как местоположение, соглашение об именах разделов, ограничивают возврат данных, определенные принципы таблицы и т. Д. Подробнее о том, как улучшить производительность Azure Storage, см. В разделе document.

+0

Спасибо за помощь. Я следил за документом, однако латентность остается высокой. Я буду искать другое решение, которое позволяет более гранулировать контроль, а затем предлагать таблицу хранения Azure. – Harald