성능 EC2 인스턴스를 극대화하는 방법


11

면책 조항 : 나는 서버 종류의 세계에서 프론트 엔드 개발자입니다.

여러분 안녕하세요. EC2에 서버 인스턴스가 c5d.9xlarge있으며 사양은 다음과 같습니다.

  • 시스템 : 우분투 18.04
  • vCPU : 36 개의 스레드 / 코어
  • 메모리 : 72GB
  • 스토리지 : 900GB NVMe SSD
  • 전용 EBS 대역폭 : 7,000Mbps
  • 네트워크 성능 : 10Gbps

시나리오 : 이 서버를 사용하여 큰 비디오 (4K, 1 시간 이상)를 업로드하고 FFMPEG를 사용하여 처리하지만 12 코어와 48GB의 RAM이있는 이전 UpCloud 서버와 비교할 때이 EC2 서버는 업로드 및 처리하는 데 1.5 배 더 오래 걸립니다 그렇다고 생각해서는 안됩니다.

질문 : 내가 지불하는 것에 대한 성능을 어떻게 극대화합니까?


AWS Elastic Transcoder 의 비용이 더 나은지 확인해야합니다.
Tim

감사합니다 @Tim. 나는 얼마 전에 그것을 보았지만 실제로이 서버에 몇 개의 전화가 더있어서 결합시킬 것이라고 생각했습니다.
Martavis P.

답변:


19

귀하는 c5d.9xlarge함께 제공 900기가바이트 인스턴스 스토리지 (일명 임시 저장 ) - 당신이 사용중인 파일을 저장하고 처리? 인스턴스에 전용 EBS 대역폭이 있지만 온 인스턴스 SSD 스토리지는 훨씬 빠릅니다 . 모든 소스 및 임시 파일에 사용하고 결과를 EBS에만 저장하는 것이 좋습니다.

인스턴스 스토리지에는 몇 가지주의 사항이 있습니다.

  1. 당신은에있는 형식과 마운트 사용하기 전에 그것을. 자세한 내용은이 답변을 참조하십시오. Ubuntu 16.04의 AWS EC2에 SSD 인스턴스 스토리지 자동 마운트

  2. 인스턴스를 중지했다가 다시 시작하면 내용이 지워 집니다. 재부팅 후에도 지속되지만 중지 / 시작되지는 않습니다.


업데이트 : 기본적으로 SSD는 마운트되지 않습니다. SSD를 사용하려면 위의 링크 된 답변의 단계를 따라야합니다. 부팅 후 표준 구성에서는 SSD보다 느린 EBS를 사용하게됩니다.

그런 다음 실제로 사용하고 있는지 확인해야합니다 . 업로드 , 작업임시 디렉토리 를 해당 SSD 마운트 지점으로 설정하십시오.

또는 72GB의 RAM이 있으므로 RAM 디스크를 만들어 임시 파일로 사용하십시오. SSD보다 훨씬 빠릅니다 (파일이 맞는 경우).

먼저 업로드 속도를 무시하고 처리를 최적화하십시오. 파일을 EBS에 업로드하고 처리 시간을 정한 다음 SSD에 업로드하고 시간을 정한 다음 RAM 디스크에 기록하고 처리 시간을 정하십시오. 그들이 얼마나 다른지보십시오.

업로드 속도는 사용자와 업로드중인 AWS 리전 간의 거리 및 대기 시간을 비롯한 여러 측면의 영향을받습니다. 가까운 AWS 리전을 사용하고 있습니까?

CPU 성능 재조정 -36 개의 CPU를 사용할 수 있지만 각 단일 코어 이전 12 코어 시스템의 코어보다 느릴 있습니다. CPU 아키텍처와 클럭 속도에 따라 다릅니다. 그러나 비디오 처리를 36 개의 스레드로 병렬화 할 수 있다면이 인스턴스를 사용하는 것이 좋습니다. 단일 스레드에 의존하면 원하는 성능을 얻지 못할 수 있습니다.

희망이 있습니다 :)


예, 하드 드라이브는 파일을 처리하는 동안 저장에 사용되고 파일은 프로세스가 완료 될 때까지 임시 파일입니다. 결과 파일이 S3으로 전송됩니다. 실제로 SSD가 마운트되어 있는지 알 수 없습니다. AWS가 사양을 기본 설정으로 사용하지 않는다는 것을 깨닫기 시작했습니다. SSD를 마운트하면 업로드 속도가 더 빨라 집니까? 후속 조치 : 허용되는 CPU 사양을 최대한 활용하는 방법에 대한 아이디어가 있습니까?
Martavis P.

@MartavisP. 답변에 몇 가지 업데이트가 추가되었습니다.
MLu

와우, 정보 감사합니다! 나는 당신이 쓴 것을 공부하고 적용 할 것입니다.
Martavis P.

1
좋은 대답입니다. 병목 현상을 찾아서 업로드 시간, 처리 시간, CPU 사용량, EBS / 네트워크 사용량 등으로 분류하려면 벤치마킹해야합니다.이 서버에 대한 대기 시간이 길어질수록 업로드 속도가 느려질 수 있습니다. 병렬 스레드로 데이터를 EC2 / S3에 업로드하여 해결할 수 있습니다. 넷플릭스는 유튜브 에이 비디오 를 가지고 있지만 흥미로울 수 있지만 그런 종류의 세부 사항을 신경 쓰기 전에 진단 단계를 수행하십시오.
Tim

1

대안을 살펴볼 범위가 있습니까? 의 비용을 위해 c5d.9xlarge, 상당한 할인 혜택을 받고 있더라도 전용 서버 시장에서 여러 대의 동등하거나 더 나은 기계를 가질 있습니다

이런 종류의 수직적 규모의 문제에 클라우드를 사용하는 것은 초과 지불 및 성능 저하의 비법입니다.

답이없는 것에 대해 죄송하지만 의견을 말할 충분한 담당자가 없습니다.


이것은 UpCloud에서 전환하면서 할인되었습니다. 그래서 당신은 무엇을 추천합니까?
Martavis P.

1
클라우드에서 동일한 계산이 임의의 웹 호스팅 업체에서 월 임대 서버 가격의 약 4 배인 것으로 보입니다. 그런 다음 엔터프라이즈 할인 (~ 30 %)이 있으며 3 년 동안 예약 할 수 있습니다 (2 배 저렴하지만 이제는 임의의 웹 호스팅 업체보다 훨씬 나쁩니다). 그리고 그 월 임대 서버는 일반적으로 하드웨어를 구매하는 것의 1/12의 가격 인 것 같습니다. 그게 최소한 내가 본 것입니다. 따라서 클라우드에서는 3 개월마다 하드웨어를 구입하지만 소유하지는 않습니다.
usr

그래, 그게 좋은 지적이지만, 당신은 삶의 어떤 것과 마찬가지로 유지 보수와 편의를 위해 돈을 지불하고 있음을 기억해야합니다. 서버 중단 문제를 해결하는 방법을 알아내는 데 며칠을 소비하는 것보다 AWS를 제 기계공으로 삼고 싶습니다. 좋은 지식이 있지만 궁극적으로 내 경력은 코드에 관한 것이므로 클라우드가 나를 위해 일합니다.
Martavis P.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.