Назад | Перейти на главную страницу

Что быстрее для доступа для чтения на EC2; локальный диск или EBS?

Что быстрее для доступа для чтения в экземпляре EC2; "локальный" диск или подключенный том EBS?

У меня есть некоторые данные, которые необходимо сохранить, поэтому я поместил их на том EBS. Я использую OpenSolaris, поэтому этот том был подключен как пул ZFS. Однако у меня есть большой кусок дискового пространства EC2, который не будет использоваться, поэтому я подумываю о том, чтобы использовать его как том кеша ZFS, но я не хочу этого делать, если доступ к диску будет медленнее, чем объем EBS, поскольку он потенциально может иметь пагубный эффект.

Просто чтобы добавить немного к консенсусу, что EBS быстрее ...

Здесь важно понимать, что скорость хранения инстанса непредсказуемый - Amazon не дает никаких гарантий по этому поводу.

Эта информация взята из книги Архитектуры облачных приложений Джорджа Риза (что кажется неплохим, судя по тому, что я бегло просмотрел). Он включает в себя таблицу с названием Сравнение вариантов хранения данных EC2 (стр. 41); вот фрагмент этой таблицы (в книге сравниваются еще несколько характеристик):

               S3              Instance          EBS

Speed          Low             Unpredictable     High
Reliability    Medium          High              High
Durability     Super high      Super low         High

Итак, хранилище экземпляров мощь иногда превосходят EBS в доступе для чтения, но если хотите постоянный высокая скорость, вам действительно нужно использовать EBS. Как пишет Риз в своей книге:

Еще одна проблема - непредсказуемость производительности в хранилище экземпляров. На самом деле вы можете подумать, что это должно быть быстрее, чем другие варианты, и иногда это так. Однако иногда это происходит невероятно медленно - медленнее, чем монтирование NFS через соединение Ethernet 10bT. EBS, с другой стороны, неизменно обеспечивает производительность SAN через соединение GB Ethernet.

Мы потратили примерно 1000 долларов на оплату AWS в ходе систематического изучения этого и связанных с ним вопросов и опубликовали обширный анализ.

Для случайных (небольших) чтений мы обнаружили, что «локальное» (экземпляр EC2) хранилище и EBS имеют одинаковую производительность, но локальное хранилище имеет лучший хвост задержки.

Для последовательного (массового) чтения EBS быстрее на m1.small, но локальное быстрее на m1.large. Мы не сравнивали напрямую локальный и EBS для других типов инстансов, но мы обнаружили, что увеличение размера инстанса гораздо больше влияет на производительность локального хранилища, чем на производительность EBS.

Есть еще вопрос о стоимости. Перенеся операции ввода-вывода с EBS на локальный диск, вы снизите плату за использование AWS.

Если вам нужна производительность базы данных в Amazon, эта статья может оказаться полезной: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/

Общее впечатление от моего собственного исследования (я читал об этом несколько недель) заключается в том, что EBS - более быстрый вариант.

Я запускал экземпляры MySQL на томах EBS и остался доволен их производительностью. У меня тоже нет точных данных, но он работал нормально.

Amazon сделал расплывчатые заявления о том, что EBS обычно превосходит «локальный» рабочий раздел на инстансе EC2. Я знаю, что я испытал более высокую пропускную способность на томе EBS в моем собственном использовании, но я не потрудился измерить задержку.

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