온톨로지FunctionsPerformance and limits강제 제한

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

강제 제한

Functions이 실행될 때 리소스를 너무 많이 소비하지 않도록 여러 제한이 있습니다.

시간 제한

각 Function 실행은 CPU 시간으로 30초로 제한되지만, 네트워크를 통해 데이터를 로드하는 경우 최대 60초까지 실행할 수 있습니다. Function이 60초 임계값을 초과하여 시간 초과가 발생하면, 대개 비효율적인 데이터 로드 로직이 원인입니다. 시간 초과를 피하는 방법에 대한 팁은 성능 최적화 섹션을 참조하십시오.

메모리 제한

각 Function 실행은 메모리 사용량이 128메가바이트로 제한됩니다. 이 제한은 거의 도달하지 않으며; 대부분의 경우, Functions는 시간 제한이나 오브젝트 로딩 제한에 먼저 걸립니다.

단일 스레드

단일 함수는 단일 스레드에서 실행되므로 한 번에 하나의 계산만 허용됩니다. 그러나 오브젝트셋이나 링크의 로드를 병렬화할 수 있습니다. 성능 최적화를 참조하십시오.

오브젝트셋 로드 제한

오브젝트셋을 사용할 때 .all() 또는 .allAsync()를 호출하면 다음 경우에 오류가 발생합니다:

  • 오브젝트셋에서 한 번에 100,000개의 오브젝트 이상을 로드합니다. 일반적으로 수만 개의 오브젝트를 로드하면 시간 제한이나 메모리 제한에 걸립니다. 이 제한에 걸리는 유즈케이스의 경우, 집계를 사용하여 요약 데이터를 가져오거나 정렬 및 제한을 사용하여 오브젝트의 일부를 가져올 수 있습니다.
  • 한 번에 3개의 Search Arounds 이상을 사용합니다.

오브젝트셋 제한

일부 집계 및 버킷 작업에는 제한이 있습니다. 자세한 내용은 집계 섹션을 참조하십시오.