【GCP】DataFlow를 이용하여 DataStore에 데이터를 등록(퍼포먼스 측정)

2756 단어 gcpdataflowdatastore

소개



GCP의 데이터 파이프라인을 구축하는 제품인 Dataflow를 이용해
DataStore에 데이터를 등록했을 때의 퍼포먼스나 오토스케일에 대해 공유합니다.

처음 쪽은, 이하 기사를 전제로 하고 있으므로, 참조를 부탁합니다.
htps : // 이 m/사스케 9097/이고 ms/c3538933060f18b4c199

전제


  • Dataflow를 사용하여 DataStore에 데이터를 등록 할 수 있어야합니다.
  • 오토 스케일의 개요를 이해합니다

  • 할 수 있게 되는 것


  • DataFlow의 자동 스케일링 메커니즘에 대한 개요를 얻으십시오
  • 간단한 성능 튜닝을 가능하게 한다

  • 결과



    먼저 결과에서 알려 드리겠습니다.
    10만 건을 넘은 근처에서 JOB 실행 시간이 바뀝니다.
    2분간은 워커의 기동이나 정지에 소비하고 있는 것 같습니다.
    CPU 시간은 깨끗하게 데이터 양에 비례합니다.


    처리 건수
    JOB 실행 시간
    CPU 시간(Read)
    CPU 시간(Regist)
    Worker 수


    1
    2분 11초
    1초
    1초
    1

    100
    2분 12초
    1초
    1초
    1

    1,000
    2분 12초
    1초
    3초
    1

    10,000
    2분 49초
    1초
    33초
    1

    100,000
    6분 33초
    3초
    5분 28초
    1 -> 2

    1,000,000
    12분 4초
    9초
    58분 16초
    1 -> 11 -> 13


    오토스케일의 구조



    DataFlow의 자동 스케일 지표는 처리량입니다.
    우선, 2, 3분 처리를 움직여 보고 처리량이나 CPU 사용률 등을 바탕으로
    Worker 수를 결정하는 것 같습니다.
    이하가 1,000,000건 처리시의 오토스케일 로그입니다.


    성능 튜닝



    성능 튜닝으로 구성 가능한 옵션은 다음과 같습니다.
  • 기본 Woker 수
  • VM CPU
  • 디스크(HDD or SSD)

  • 역시, 가장 간단한 것은 디폴트 Woker수라고 생각합니다.
    VM의 CPU는 과금에의 영향이 클 것 같기 때문에 피하고 싶습니다.
    이번에는 1,000,000건 처리를 10분 이내에 완료할 수 있도록 튜닝합니다.

    명령 실행



    포인트는 "--num-workers=6"입니다.
    JOB 실행 시 작업자 수를 지정할 수 있습니다.
    gcloud dataflow jobs run testText2Datastore --gcs-location gs://dataflow-templates-asia-northeast1/latest/GCS_Text_to_Datastore --region asia-northeast1 --staging-location gs://test-20201003/temp/ --parameters textReadPattern=gs://test-20201003/test1m.json,datastoreWriteProjectId=ace-charter-291406,errorWritePath=gs://test-20201003/error/failure.txt --num-workers=6
    

    실행 결과



    9분 35초에 완료되었습니다.
    작업자 수는 12로 확장되었습니다.


    마지막으로



    오토스케일을 이용하면 데이터량이 급증해도 어느 정도 처리 시간을 억제할 수 있다.
    할 수 있다는 것을 알았습니다.
    10배로 증가해도 처리 시간이 10배가 되지는 않았습니다.
    데이터 양에 따라 초기 Worker 수를 변경하는 것이 성능 튜닝의 기본이 될 것이라고 생각합니다.

    다음은 Dataflow의 UDF(사용자 정의 함수)를 이용하여 가공 처리를 넣고 싶습니다.

    좋은 웹페이지 즐겨찾기