2014-02-03 1 views
2

После мой код:DynamoDB: Slow Читать, когда запрашиваются впервые

error_log('before query'.date("H:i:s:ms")); 
$response = $client->query(array(
           "TableName" => "user", 
           "KeyConditions" => array(
           "userId" => array("ComparisonOperator" => ComparisonOperator::EQ, 
           "AttributeValueList" => array(
                   array(Type::NUMBER => 2) 
                   ))), 
           )); 
error_log('after query'.date("H:i:s:ms")); 
print_r($response); 

Мои таблицы Читайте емкость 6 читает/сек

Вывод журналов ошибок

Перед запросом 16 : 05: 29: 0229

после запроса 16: 05: 32: 0232

Вопрос: Зачем потребовалось 3 секунды, чтобы прочитать пользователя в первый раз? Если я добавлю еще один запрос после первого запроса, для ответа потребуется менее 1 секунды.

Любой свет на пути было бы полезно

-Спасибо

+0

Это скорее всего связано с установкой PHP, а не с Динамо. Вы используете Framework как Symfony of Zend? Вы используете xdebug? Используете ли вы кеш, например APC или php 5.5 opcache? Любая из этих причин может быть причиной. – greg

ответ

1

Это может произойти, если вы выполняете этот запрос из другого региона, чем например, базы данных или из местных.

Если вы не загрузили файл с этим запросом в тот же регион, что и ваш dynamoDb, потребуется некоторое время на создание соединения с вашим экземпляром DB. Попробуйте загрузить этот скрипт на сервере того же региона, что и ваша БД, а затем повторите попытку.

Смежные вопросы