Я работаю в компании с большим количеством устаревших веб-приложений LAMP, где мы пытаемся обновить наше оборудование с ~ 250 физических серверов до ~ 40 новых серверов с виртуализацией. Мы получили две цитаты от поставщиков: одна предлагает процессоры Intel, другая AMD.
Одна вещь, которая мне нравится в связи с большим количеством ядер в AMD, заключается в том, что мы сможем выделять ядра для виртуальных машин, что означает, что у нас меньше шансов на то, что приложения будут взаимодействовать друг с другом из-за скачков, которые в определенной степени больше Для меня важнее, чем пиковая производительность.
Другие соображения, которые я имею в виду:
- Потребляемая мощность может быть разной (в нашем случае это не проблема).
- Инструкции CPU, такие как CRC32 (SSE 4.2), не поддерживаются (Редактирование: MySQL 5.6, кажется, поддерживает SSE4.2. Не уверен насчет Apache)
- MySQL не масштабируется идеально после ~ 16 / ~ 32 ядер (я готов принять этот компромисс).
Какие еще соображения мне не хватает?
(Примечание для модераторов: мне известна эта тема - я считаю вопрос немного другим.)
Изменить: Предположим, что задачи являются исключительно параллельными (веб-серверы), и что меня не волнует, что серверы баз данных не являются такими параллельными.
источник
Ответы:
Было много прессы о новейшем предложении процессоров AMD под названием Bulldozer. «Серверная» версия этой части еще не выпущена, но предложение для настольных компьютеров - отличный обзор некоторых потенциальных проблем новинки.
Что касается текущего поколения серверной части, то в целом рекомендации довольно хороши на общем уровне. Веб-обслуживание и (большая часть) работа с базами данных в основном основаны на целочисленных значениях, а процессоры AMD хорошо справляются с вычислениями на целочисленных значениях. Кроме того, веб-обслуживание (как правило) является проблемой, которая может быть сильно распараллелена. AMD уделяет особое внимание тому, что «многие ядра обеспечивают более быструю работу», и LAMP (опять же, в общем) имеет тенденцию хорошо реагировать на это.
Одна область, на которую вы действительно должны обратить внимание - это однопоточные зависимости в ваших приложениях. Части AMD масштабируются не так сильно по часовой стрелке, как детали Intel, поэтому процессы, которые по своей сути являются однопоточными, могут затормозить всю систему в целом намного быстрее, чем на более быстрых частях ЦП. Только вы знаете, относится ли это к вам или нет. Определенные операции с базами данных могут лучше обслуживаться более быстрыми процессорами Intel с меньшим числом ядер, так что эти несколько толстых потоков могут действительно кричать.
Код приложения здесь тоже имеет значение. Некоторые длительно работающие процессы веб-сервера могут потреблять много однопотокового времени, а также требуют более быстрых часов. Это может быть решено путем переписывания необходимости в этом длительном процессе, но до этого было бы неплохо использовать более быстрые часы.
Но в целом, для рабочих нагрузок в стиле lot-o-webserver-vm эти 12-ядерные компоненты могут масштабироваться довольно далеко. Если вы столкнетесь с какими-то однопоточными проблемами, переход на 8-ядерные компоненты с более высокой тактовой частотой будет приемлемым компромиссом.
источник
По большей части вы обнаружите, что оба процессора очень сопоставимы. Процессоры AMD имеют небольшое преимущество в скорости ОЗУ (обычно) из-за 4-го канала. Процессоры Intel обычно имеют более низкий CPI (возможно, в большей степени это касается HT , хотя это очень сильно зависит от рабочей нагрузки). AMD, как правило, дешевле.
Большинство из этих факторов даст преимущество одному или другому, в зависимости от вашей рабочей нагрузки. Ни один из них не будет значительно хуже, чем другие (при условии нормальных конфигураций и примерно равных капитальных затрат).
источник
Вы должны учитывать различия в производительности, которые может принести отличающаяся архитектура ОЗУ, и является ли это решающим фактором для вашей организации.
Также в качестве небольшого примечания, хотя вы можете не беспокоиться о пиковой производительности, если ваша виртуальная машина не будет иметь несколько ядер каждое и / или конкретные задачи внутри являются однопоточными, существует значительное преимущество в производительности для целых чисел. ядро, чем AMD, даже если общее количество ядер меньше.
источник
Основное отличие заключается в подходе; В среднем диапазоне AMD уделяет небольшое внимание ядрам в части, которая стоит примерно столько же, сколько аналогичная часть Intel. У части Intel будет меньше тактовых частот выше.
Таким образом, для виртуализированных рабочих нагрузок веб-приложений вы, вероятно, предпочтете системы AMD.
Если не будет большой разницы в цене, я не буду беспокоиться о долларах. Я бы посмотрел больше на подсистему ввода-вывода. Кроме того, общая стоимость владения на 40 серверах будет зависеть от поддержки, лицензирования программного обеспечения, если таковое имеется, и от персонала, вероятно, не от самих серверов.
Как минимум, вам нужно сделать себе одолжение, привлечь обоих поставщиков и запустить свои системы на их оборудовании, прежде чем выделять 40 серверов с одного из них. Только вы можете ответить на вопрос правильно для вашей конкретной рабочей нагрузки.
источник
Еще одна вещь, о которой стоит упомянуть, будьте осторожны, если вы используете виртуализацию любого типа, при которой перенос гостей с Intel на AMD может быть реальной проблемой, а кластеризация по брендам вообще не включена в карты. Придерживайтесь одной платформы для каждого кластера и признайте, что трудно перепрыгнуть с одной на другую.
источник