1

Google Cloud Bigtable Python Client에서 성능 문제가 발생합니다. GCP Bigtable 인스턴스에 쓰고 읽는 플라스크 API를 작업하고 있습니다. API는 Python 클라이언트를 사용하여 Bigtable과 통신하고 GCP App Engine 유연한 환경에 배포되었습니다.Google Cloud Bigtable Python 클라이언트 성능 문제

트래픽이 적을 경우 API가 정상적으로 작동합니다. 그러나로드 테스트 중에 Bigtable을 읽고 쓰는 엔드 포인트는 Bigtable과 통신하지 않는 유사한 엔드 포인트와 비교할 때 큰 성능 저하를 겪습니다. 또한 App Engine에서 상태 확인이 해제 된 경우에도 많은 수의 요청에 대해 502 Bad Gateway이 수신됩니다.

클라이언트가 현재 알파 상태임을 알고 있습니다. 나는 성능 문제를 알고 궁금하거나, 누군가는 내가 진술 구글에서 문서를 발견

업데이트

같은 문제로 실행 한 경우 :

네트워크 연결에 문제가 있습니다를 . 네트워크 문제로 인해 처리량이 감소하고 읽기 및 쓰기가 보통 보다 오래 걸릴 수 있습니다. 특히 클라이언트가 Cloud Bigtable 클러스터와 동일한 영역에서 실행중인 이 아닌 경우 문제가 표시됩니다.

내 경우 클라이언트가 다른 지역에 있으며, 동일한 지역으로 이동하면 성능이 크게 향상됩니다. 그러나 성능 문제는 여전히 존재하며 문서의 권장 사항은 클라이언트를 Bigtable과 동일한 영역에 두는 것입니다.

또한 컨테이너 엔진 또는 Compute Engine을 사용하여 영역을 지정하는 것이 더 쉬운 것으로 생각했지만 Autoscale 기능 및 관리 서비스를 위해 App Engine을 사용하고 싶습니다.

답변

0

Bigtable 클라이언트는 각 요청을 완료하는 데 3ms에서 20ms 정도 걸리며, 파이썬은 단일 스레드이기 때문에 응답이 다시 나타날 때까지 대기합니다. 우리가 찾은 가장 좋은 해결책은 모든 글에 대한 것이 었으며 Pubsub에 요청을 게시 한 다음 Dataflow를 사용하여 Bigtable에 작성합니다. Python으로 메시지를 게시하는 것이 완료되는 데 1 밀리 초가 걸릴 것이고 Dataflow를 Bigtable과 똑같은 영역으로 설정할 수 있기 때문에 병렬 처리가 쉽기 때문에 훨씬 빠릅니다.

빈번한 읽기 또는 쓰기가 즉각적인 필요성이있는 시나리오는 해결되지 않지만