Почему выборка данных из Redis в AWS Instance очень медленная

1

Сначала я установил redis на свой локальный компьютер (Ubuntu 14.04), используя следующие ссылки.

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-redis https://www.digitalocean.com/community/tutorials/how-to-set-up-a-redis -server-а-а-сессии обработчик-для-PHP-на-убунту-14-04

Я использую хеши для хранения данных в redis. Запрос занял около 300 мс при ударе db и взял 60-70 мс, когда он извлекает из redis. После этого я делаю то же самое на своем Ubuntu AMI, который является m4 большим, но, к сожалению, я не вижу никаких изменений в времени отклика, и иногда требуется больше времени, чем db. Я не знаю, где мне не хватает.

    $this->redis = New \Redis();
    $this->redis->connect('127.0.0.1', 6379);
    $this->redis-hset($id, $key, serialize($result));
    if($this->redis->hexists($id,$key)) {
         return $this->redis->hget($id, $key);
    }

И я уверен, что он извлекает данные из redis, когда он доступен в redis.

Теги:
amazon-web-services
redis

2 ответа

1

Я бы предложил попробовать другой тип экземпляра. M4.large - это всего лишь двухъядерный тип экземпляра, возможно, попробуйте 4 ядра? Или воспользуйтесь сервисом redis для кеширования AWS.

Вы можете найти полезную информацию здесь, а также.

  • 1
    Redis является мононитьей, увеличение количества ядер должно иметь какой-либо эффект (при условии, что у вас есть только один экземпляр redis)
  • 0
    @PascalLeMerrer, это правда, но на этом сервере размещены и Redis, и веб-сервер PHP, и, возможно, другие вещи, поэтому увеличение числа процессоров может помочь в тестировании общей производительности. Переход на выделенный сервер Redis, такой как ElastiCache, как предполагает enderv, также поможет определить проблему с производительностью.
0

Время сериализации Benchmark - для более сложной сериализации данных/несериализации намного больше, чем фактическая запись в redis. (проверьте http://kiss-web.blogspot.com/2016/02/memcached-vs-redisphpredis-vs-predis-vs.html)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню