Задержка Memcached в Amazon EC2 - PullRequest
0 голосов
/ 16 июня 2010

Я планирую использовать хост Amazon EC2 только для MemCache. Мое веб-приложение будет находиться на общем размещенном сервере и будет связываться с Ec2 для запроса Memcache.Как бы производительность этой настройки.

С уважением, Мугил.

Ответы [ 2 ]

10 голосов
/ 16 июня 2010

Не хочу критиковать ваш выбор архитектуры, но, похоже, вы не правильно расставили приоритеты.Memcache не нужна огромная коробка для запуска;ему просто нужно столько памяти, сколько вы готовы его накормить.Преимущества этого в скорости, которую он предлагает, толкая и извлекая информацию из нее.Помещение вашего блока MC за пределы вашей внутренней сети - EC2 или нет - в основном убивает эффективность наличия блока MC для начала.Допустим, вы экономите 100 мс на запросе БД, но задержка для EC2 составляет 50 мс.Вы по-прежнему тратите 49 миллисекунд, которыми в противном случае могли бы воспользоваться.

Общий хостинг (для большого количества крупных приложений) - абсолютная ерунда.Если у вас есть проект, достаточно большой, чтобы потребовать мощность блока EC2 для службы CACHING, то вы определенно делаете что-то не так.Вот мое предложение: перенесите ваше приложение в EC2 и разместите экземпляр Memcached в том же окне.Затраты не так уж велики, и если вы планируете масштабировать кэш, просто загрузите другую коробку и укажите приложению этот экземпляр MC.

Другой вариант - перейтис менее дорогим хостом VPS, таким как Linode или Slicehost .Оба имеют хорошую репутацию в сообществе.Если я не ошибаюсь, части Foursquare даже размещены на Slicehost.Оба являются очень недорогими VPS-решениями (по сравнению с несколькими общими решениями; посмотрите на них точка-точка с чем-то вроде MediaTemple) и их можно очень легко масштабировать.Допустим, вы начинаете с Linode-бокса за $ 20 для своего экземпляра MC.Вы экономите около 50 долларов в месяц, потому что вы не на EC2.Если вы перенесете свой хостинг на другой Linode за 20 долларов в месяц, вы, вероятно, заплатите примерно такую ​​же сумму (возможно, немного больше, если вы используете виртуальный хостинг).Кроме того, если вы поместите свои линоды в один и тот же центр обработки данных, то задержка между вашим веб-приложением и вашим кешем практически равна нулю.

В будущем, скажем, вы хотите повысить производительность своего MC.Просто загрузите другую коробку с MC и удалите старую.Вы можете закрыть его и изменить его размер, но тогда у вас будет время простоя (но это все еще вариант).

Надеюсь, это поможет!

Matt

1 голос
/ 16 июня 2010

Это не очень хорошая идея, ваши вызовы memcached будут проходить через Интернет (в отличие от того, когда вы используете ec2 для своего веб-приложения, ваши вызовы memcached находятся в пределах центра обработки данных amazon и очень быстроили даже на одной машине)).

Если вы собираетесь получить экземпляр EC2, вы должны запустить свое веб-приложение на EC2 и добавить туда немного memcached, если вам нужно больше производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...