에지 제어 파일 전송
Axeda Agent/플랫폼 시작 파일 업로드
그림은 다음과 같습니다.
• 2단계에서 다음 입력 유효성 검사가 수행됩니다.
◦ 작업이 에지 제어인 경우 사물당 최대 동시 전송 수와 동시 전송 수가 초과되는지 검증합니다.
◦ 초과되지 않으면 나중에 전송하기 위해 작업이 대기열에 추가됩니다. 그렇지 않으면 복사가 실패하고 작업이 대기열에 추가되지 않습니다.
• 송신 중, 5단계:
◦ 수행할 다운로드, 업로드, SCM 작업 또는 원격 속성 쓰기 작업이 있는지 확인합니다.
◦ 파일 전송은 전송 제한을 초과하지 않는 경우에만 시작할 수 있습니다.
• 이진 파일 생성 또는 쓰기 중 8단계에서 파일이 쓰기 작업을 위해 잠깁니다. 이것이 마지막 청크이고 체크섬이 제공되면 유효성이 검사됩니다.
• 작업을 실패 또는 완료로 표시합니다. 또한 제공되면 체크섬의 유효성을 검사합니다.
ThingWorx Platform 시작 파일 다운로드
그림은 다음과 같습니다.
• 파일 복사 중에 1단계에서 다음 입력 유효성 검사가 수행됩니다.
◦ 작업이 에지 제어인 경우 사물당 최대 동시 전송 수와 동시 전송 수가 초과되었는지 검증합니다.
◦ 초과되지 않으면 나중에 전송하기 위해 작업이 대기열에 추가됩니다. 그렇지 않으면 복사가 실패하고 작업이 대기열에 추가되지 않습니다.
• 송신 중, 4단계:
◦ 수행할 다운로드/업로드/SCM 작업/원격 속성 쓰기/작업이 있는지 확인합니다.
◦ 파일 전송은 전송 제한을 초과하지 않는 경우에만 시작할 수 있습니다.
• 이진 파일 생성 또는 쓰기 중 7단계에서 파일이 읽기 작업을 위해 잠깁니다.
• 이에 따라 플랫폼은 작업을 실패 또는 완료로 표시합니다.
중요한 조정 가능 매개 변수
• 파일 전송에 대해 양호한 동시성을 달성하려면 파일 전송 하위 시스템의 구성 설정을 주의 깊게 조정해야 합니다. 일부 설정은 아래에 나열되어 있습니다. 자세한 내용은
파일 전송 하위 시스템을 참조하십시오.
◦ 최대 허용 에지 제어 파일 전송 총 수 → 작업을 대기열에서 제거하고 활성 대기열로 이동하기 위해 플랫폼에서 사용할 수 있는 최대 평행 파일 전송 수입니다. 평행도가 더 필요한 경우 이 값이 더 높아야 합니다.
◦ 사물당 최대 허용 에지 제어 파일 전송 총 수 → 작업을 대기열에서 제거하고 활성 대기열로 이동하기 위해 플랫폼에서 사용할 수 있는 사물당 최대 평행 파일 전송 수입니다. 사물 수는 적고 사물당 전송할 파일 수가 많은 경우 이 값을 늘리면 유용할 수 있습니다.
| 이 값을 늘리면 장치 간의 최대 평행 파일 전송에서 사용 가능한 위치가 균등하게 분포되지 않을 수 있습니다. |
◦ 오프라인 대기열에서 허용된 최대 파일 전송 → 파일 전송 업로드 속도가 매우 빠르고 처리 속도가 상대적으로 느린 경우 작업이 거부되는 대신 오프라인 작업에 유지되도록 이 값이 더 높아야 합니다.
◦ 오프라인 대기열에서 사물당 허용된 최대 파일 전송 → 사물당 파일 전송 업로드 속도가 매우 빠르고 처리 속도가 상대적으로 느린 경우 이 값이 더 높아야 합니다. 그런 다음 작업이 거부되는 대신 오프라인 작업에 유지됩니다.
• 에지 제어 파일 전송은
WSExecutionProcessor 스레드 풀을 사용하여 실행됩니다. 따라서 파일 전송이 발생하려면 충분한 스레드를 사용할 수 있어야 합니다. 이 스레드 풀을 조정하려면
WSExecutionProcessingSubsystem의
실행 프로세서 설정을 사용합니다. 자세한 내용은
WebSocket 실행 처리 하위 시스템을 참조하십시오.
• 파일 전송 통계는
/Metrics 끝점에 표시된 여러 메트릭을 조회하여 모니터링할 수 있습니다. mfile 전송 메트릭에 대해 자세히 알아보려면
ThingWorx 하위 시스템 모니터링을 참조하십시오.
모범 사례
• ThingWorx Platform은 파일 저장소에서 파일 읽기 및 쓰기를 동시에 지원합니다. 데이터 손상을 방지하고 일관성을 보장하기 위해 Platform은 읽기/쓰기 작업 기간 동안 파일 및 디렉터리에 대한 잠금을 획득해야 합니다. 동일한 디렉터리 또는 파일에 동시에 쓰는 것을 방지하면 동시성을 높이고 파일 작업의 처리량을 늘릴 수 있습니다.
• 대량의 파일 전송의 경우 파일 입력/출력은 동시 읽기/쓰기 작업을 처리할 수 있어야 하며 /ThingworxPlatform이 아닌 별도의 스토리지에 배치되어야 합니다.
• 파일 전송 성능을 지속적으로 모니터링합니다. 파일 메트릭 설명서를 참조하십시오.
• 파일 전송 이벤트 완료와 연결된 입력/출력이 많은 서비스 실행은 빠른 실행 작업을 위한 제한된 TWEventProcessor 스레드를 사용하기 때문에 응용 프로그램 개발자는 ThingWorx 구독과 파일 전송 작업 간의 관계를 인식해야 합니다. 이에 따라 TWEventProcessor 스레드 풀 설정을 적용하고 다른 구독 실행 성능에 영향을 미치지 않도록 인프라 성능을 보장합니다.