2012-11-23 2 views
0

웹 서비스 (SaaS)로 공개하려는 애플리케이션이 있습니다. 응용 프로그램은 CPU를 많이 사용하며 실행에 많은 시간이 걸리는 다중 스레드 응용 프로그램입니다 (평균 15-20 초). 이후로 SaaS로 공개하고 Amazon 서비스, Google App Engine 등의 시장에서 제공되는 기존 클라우드 서비스를 사용하여 서비스 비용을 줄이고 관련 업무를 줄이고 싶습니다. 나는 내 마음 속에 몇 가지 질문을 가지고있다 :클라우드에 CPU 집약적 인 웹 서비스를 배포합니다.

1) 응용 프로그램이 멀티 스레드이고 호출 된 스레드의 수는 서비스가 던진 결과의 수에 달려 있기 때문에 기본적으로 스레드의 수는 동적 엔티티이다. 지금은 6 코어 프로세서를 가지고 있으므로 스레드 풀 크기를 6으로 유지했지만 클라우드로 옮겨 가고 있기 때문에 어떻게 클라우드 인프라를 최적으로 사용할 수 있습니까?

2.) 클라우드 서비스 공급자 (?)는 각 요청에 필요한 CPU 코어 수를 선택하는 옵션을 제공합니까?

3.) 코드에서 변경해야 할 사항은 무엇입니까 (스레드 관련)?

4.) 클라우드로 이동하는 데 필요한 다른 특정 영역?

답변

0

아마존 EC2에서는 기본적으로 different types of instances을 지불합니다. 단 하나의 코어와 16 개를 자유롭게 선택할 수 있습니다. 당신은 당신이 지불하는 것을 얻습니다.

어떻게 클라우드 인프라를 최적으로 사용할 수 있습니까?

작업이 CPU를 집중적으로 사용하는 경우 CPU 코어/CPU와 동일한 스레드 수의 스레드 풀을 사용하는 것이 좋습니다. 각 요청

없음에 필요한 CPU 코어의

선택 번호, 적어도 아마존. 주어진 인스턴스에서 애플리케이션을 실행하면 그만한 결과를 얻을 수 있습니다. 사전에 인스턴스 유형을 선택해야하지만 물론 언제든지 인스턴스 유형을 자유롭게 전환하고 새 항목을 추가 할 수 있습니다. 구름!

Google App Engine you can't create threads에서는 아무 것도 없습니다. 참고 : Why does Google App Engine support a single thread of execution only?

3) 3. 스레드에서 변경해야하는 코드에는 어떤 변경 사항이 필요합니까?

없음. 결국 표준 PC입니다.

4) 4. 구름으로 이동할 장소를 제공해야하는 다른 특정 영역은 무엇입니까?

음, 일부 서비스는 GAE와 같이 완전히 쓸모가 없습니다. 실제로 무언가를 지불하기 전에 조사를하십시오.

관련 문제