Отказ от ответственности: я разработчик внешнего интерфейса в мире серверов.
Привет, народ. У меня есть экземпляр сервера на EC2 c5d.9xlarge
, чьи спецификации:
- Система: Ubuntu 18.04
- vCPU: 36 потоков / ядер
- Память: 72 ГБ
- Память: 900 ГБ NVMe SSD
- Выделенная пропускная способность EBS: 7000 Мбит / с
- Производительность сети: 10 Гбит / с
Сценарий: я использую этот сервер для загрузки больших видео (4K, 1+ часа) и обработки их с использованием FFMPEG, но по сравнению с моим предыдущим сервером UpCloud с 12 ядрами и 48 ГБ оперативной памяти, этому серверу EC2 требуется в 1,5 раза больше времени для загрузки и обработки что, я думаю, не должно иметь место.
Вопрос: Как максимально увеличить производительность за то, за что я плачу?
ubuntu
amazon-web-services
amazon-ec2
Мартавис П.
источник
источник
Ответы:
Ваш
c5d.9xlarge
поставляется с хранилищем экземпляров 900 ГБ (он же эфемерный ) - вы используете его для хранения и обработки файлов? В то время как у вашего экземпляра есть выделенная полоса пропускания EBS, хранилище SSD на экземпляре все равно будет намного быстрее . Я предлагаю вам использовать это для всех исходных и временных файлов и сохранять результаты только в EBS.Однако есть несколько предостережений относительно хранения экземпляров:
Вы должны отформатировать и смонтировать его, прежде чем его можно будет использовать. Обратитесь к этому ответу для получения более подробной информации: Автоматическое монтирование хранилища экземпляров SSD на AWS EC2 в Ubuntu 16.04
Содержимое стирается при остановке и повторном запуске экземпляра. Переживает, но не останавливается / запускается.
Обновление: по умолчанию твердотельный накопитель не подключен - вам придется выполнить действия, описанные в приведенном выше ответе, чтобы использовать его. В стандартной конфигурации после загрузки вы будете использовать EBS, который работает медленнее, чем SSD.
Затем вам нужно будет убедиться, что вы на самом деле используете его - установите для загрузки , рабочего и временного каталога ту точку монтирования SSD.
Или даже лучше - поскольку у вас есть 72 ГБ ОЗУ - создайте RAM-диск и используйте его для временных файлов. Это будет даже быстрее, чем SSD (если файлы подойдут).
Прежде всего, не обращайте внимания на скорость загрузки и оптимизируйте обработку - загрузите файл в EBS и рассчитайте время обработки, затем загрузите на SSD и определите время, а затем на RAM-диск и время обработки. Посмотрите, насколько они отличаются.
Скорость загрузки зависит от многих аспектов, включая расстояние и задержку между вами и регионом AWS, в который вы загружаете. Используете ли вы регион AWS рядом с вами?
Re производительности процессора - у вас есть 36 процессоров доступны, однако каждая одноядерные может быть медленнее , чем ядра в предыдущей 12-основной машине. Это зависит от архитектуры процессора и тактовой частоты. Однако, если вы можете распараллелить обработку видео на 36 потоков, вам будет лучше в этом случае. Если вы полагаетесь на один поток, вы можете не получить желаемую производительность.
Надеюсь, это поможет :)
источник
Есть ли возможность рассмотреть альтернативы? За стоимость
c5d.9xlarge
, даже если вы получаете существенную скидку, на рынке выделенных серверов у вас может быть несколько эквивалентных или более качественных компьютеров.Использование облака для решения этой задачи с вертикальным масштабированием является рецептом переплаты и, как вы видели, низкой производительности
Извините за отсутствие ответа, но у меня недостаточно представителей, чтобы комментировать
источник