Пара вопросов об Amazon EC2 - PullRequest
       14

Пара вопросов об Amazon EC2

7 голосов
/ 30 января 2009

Amazon измеряет распределение своего ЦП с точки зрения виртуальных ядер и вычислительных блоков EC2. Вычислительные единицы EC2 определены как:

Количество ЦП, которое выделено для конкретного экземпляра, выражается в единицах этих вычислительных блоков EC2. Мы используем несколько тестов и тестов для управления согласованностью и предсказуемостью производительности вычислительного блока EC2. Один вычислительный блок EC2 обеспечивает эквивалентную производительность процессора процессора Opteron 2007 или Opteron 2007 года с частотой 1,0-1,2 ГГц. Это также эквивалентно процессору Xeon 1,7 ГГц, выпущенному в начале 2006 года, указанному в нашей оригинальной документации.

Мой вопрос, скажем, у меня есть «Большой экземпляр», который поставляется с «4 вычислительными блоками EC2 (2 виртуальных ядра с 2 вычислительными блоками EC2 каждый)». Значит ли это, что у меня по сути 4 ядра в логическом смысле? Хотел бы я создать 4 связанных с процессором потока? Или вычислительные единицы - просто мера мощности, а у меня 2 ядра?

Кроме того, учитывая масштабируемость серверов, было бы лучше удвоить вычислительную мощность одного блока и разместить базу данных и сервер в одном блоке? Или я должен иметь 2 отдельные, более слабые коробки?

Ответы [ 3 ]

6 голосов
/ 31 января 2009

nicholaides правильно, маленькие экземпляры эквивалентны одному ядру, большие два ядра. Остальная часть измерения выражается в вычислительных единицах, которые определяются следующим образом:

Один вычислительный блок EC2 (ECU) обеспечивает эквивалентная мощность процессора 1,0-1,2 ГГц 2007 Opteron или процессор Xeon 2007 года.

Я запускаю мой маленький веб-сайт на одном маленьком экземпляре, и веб-сервер, и база данных размещаются на одной виртуальной машине. Я был впечатлен производительностью, но опять же не имею огромного количества нагрузки на него.

Если все, о чем вы заботитесь, - это окупаемость денег, я бы попробовал вашу настройку с обоими серверами, работающими на одном небольшом экземпляре (1 ядро, 1 блок EC2 по $ 0,10 / час), и посмотрю, как это складывается. Следующим шагом будет инстанс с высокой загрузкой процессора (2 ядра, 5 блоков EC2 по цене 0,20 долл. / Час). Если вы действительно не бьете свои серверы, я должен верить, что вы сможете запустить их на этом единственном среднем экземпляре. Только в два раза дешевле, чем у маленького экземпляра, вы получаете в пять раз большую производительность, что намного лучше, чем при работе с двумя маленькими экземплярами.

Одна вещь, о которой следует быть осторожным, состоит в том, что экземпляры малых и средних процессоров являются 32-разрядными, тогда как все остальные (большие, очень большие и очень большие процессоры) являются 64-разрядными. Вы не можете запустить 32-битный образ машины Amazon на 64-битном экземпляре, и наоборот. Если вы работаете со стандартным AMI, это не проблема, потому что вы обычно сможете найти обе его версии, но для пользовательского изображения это может заставить вас сделать немного больше работы.

3 голосов
/ 03 февраля 2009

«4 вычислительных блока EC2 (2 виртуальных ядра с 2 вычислительными блоками EC2 каждый)» просто означает, что вы получаете 2 виртуальных процессора, каждый из которых в два раза быстрее базового экземпляра Small.

В общей сложности вы получаете в 4 раза большую мощность, чем Small, но, поскольку вы получаете только 2 ядра, имеет смысл запустить только два потока.

Что касается вашего второго вопроса, я думаю, что Брэд Ларсон отвечает на него довольно хорошо. Средний экземпляр обладает большой властью за деньги. Мы запускаем наши db en веб-серверы на одном и том же хосте, и удивительно, сколько db-тяжелых сайтов можно запустить на одной машине. Тем не менее, поскольку это зависит от вашего собственного приложения, вам лучше всего сравнить его с нагрузкой.

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

0 голосов
/ 31 января 2009

Насколько я помню, "вычислительные единицы" - это не измерения ядер, а просто мера "мощности".

Кроме того, учитывая масштабируемость серверов, было бы лучше удвоить вычислительную мощность одного блока и разместить базу данных и сервер в одном блоке? Или я должен иметь 2 отдельные, более слабые коробки?

Это действительно зависит от приложения. Лучше всего попробовать его и получить достоверные данные.

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