Memcached на EC2

Вам нужно будет передать имя объекта конструктору:

function myObjConstr (obj_name) {
    this.object_name = obj_name;
    console.log(this.object_name);
}

var name1 = new myObjConstr("name1");
var nameff = new myObjConstr("nameff"); 
7
задан James 18 May 2009 в 19:37
поделиться

3 ответа

  • Балансировка нагрузки не имеет ничего общего с Memcached - она ​​использует хеш-алгоритм для подключения к серверам
  • Я настоятельно рекомендую не использовать автомасштабирование с Memcached - добавление серверов нарушает алгоритм хеширования и делает недействительным ваш кеш. Данные будут потеряны, и вам придется выполнить повторное кэширование.
  • Вы захотите проверить задержку от ваших серверов до EC2 - если она больше 50 мс, вы значительно снизите свою производительность. Ну, в любом случае я предполагаю.

Вы можете вытащить несколько ключей (см. здесь, как ) с помощью одного запроса, чтобы уменьшить эффект задержки, но вы все равно получите первое попадание. И это также означает, что вам нужно знать все ключи, которые вы собираетесь получить, прежде чем позвонить. В противном случае каждый запрос добавляет 50 мс (или больше) ко времени выполнения вашего скрипта.

Учитывайте данные, которые вы пытаетесь кэшировать. Достаточно ли большой плиты размером 64 МБ, чтобы помочь вам? Вероятно, вы сможете запустить его на своих основных серверах.

10
ответ дан 6 December 2019 в 11:52
поделиться

Сколько свободной памяти у вас обычно есть на вашем текущем компьютере? Не могли бы вы просто установить там экземпляр memcached? Думаю, что возможно задержка / накладные расходы и т. Д. от наличия удаленных кешей вы можете свести на нет любые преимущества, но, возможно, это не так.

0
ответ дан 6 December 2019 в 11:52
поделиться

Чтобы действительно воспользоваться преимуществами memcached, вам нужно, чтобы ваш кэш памяти взаимодействовал с вашим кодом как можно быстрее. Возможно, вы захотите выяснить, какая у вас будет задержка между серверами EC2 и вашими собственными.

В конечном счете, вам может быть лучше поднять оперативную память на вашем текущем сервере до примерно 4 гигабайт (вы получите около 50 баксов) и разместить memcached на главном сервере. В документации действительно рекомендуется устанавливать memcached на том же сервере, который обслуживает запросы. В зависимости от размера вашего приложения и того, что оно делает, экземпляр memcached с гигом или двумя может быть больше, чем вам нужно.

Кроме того, если вы не используете механизм кэширования объектов php, такой как APC или Eaccelerator, это тоже поможет.

6
ответ дан 6 December 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: