작은 XML 파일이지만 매우 높은 볼륨의 FTPS 성능 실행되며 가용성이 높습니다. 다른

우리 회사는 다른 당사자와 B2B 통합을 구축하여 많은 수의 당사자에게 3 시간 동안 각 10-15KB의 XML 파일 100,000 개 매일. 우리는 우리의 FTPS 서버 (TLS / SSL) 이 교환을 위해 Linux에서 실행되며 가용성이 높습니다.

다른 당사자는 FTPS의 읽기 / 쓰기 오버 헤드에 대해 우려를 제기하여 전송이 허용되는 창을 초과하여 확장 될 가능성이 있음을 나타냅니다. 우리의 인프라 전문가는 파일 픽업 후 삭제되는 동안 HA Linux 서버에서 특히 FTPS를 통한 파일 수에 문제가 없음을 확인합니다.

위의 접근 방식을 구체화하고 싶습니다. FTPS를 통해 대량 전송을 구현 한 사람이 있습니까? 이것은 나쁜 생각이며 대기열 기반 접근 방식을 구현해야합니까?

로드 테스트 중에 문제를 발견하는 것은 너무 늦습니다. 질문에 약간의 제한이없는 경우 사과드립니다. 특정 세부 정보가 필요한 경우이를 제공 할 수 있습니다. 매우 감사합니다



답변

짧은 답변: 서버가 가까이에 있다면 멀리 할 수 ​​있습니다. 먼 곳이면 전송 창을 날릴 수 있습니다. 그러나 어느 쪽이든, 그것은 “간단한”구현에 대한 나쁜 생각입니다.

더 완전한 대답 :

나는이 사이트가 그런 종류의 질문에 적절하다고 생각하지 않는다. 정답은 “의존한다”, “당신은 당신 자신의 테스트를 실행해야한다”. (아마도 어쩌면 Serverfault 더 나은 포럼이 포럼은 hobbiests에 대한 더 많은 것입니다).

그것은 매우 높은 오버 헤드가있는 것처럼 보이는 FTPS에 좋은 해결책이라고 질문했습니다. FTP는 추가 암호화 오버 헤드를 추가하기 전에 충분히 나쁩니다.

이것이 기술적으로 가능한지 여부는 파이프 속도, 서버 간 거리 및 동시 연결 수에 따라 크게 달라질 수 있습니다 [여러 연결로 어느 정도 지연 시간을 줄일 수 있습니다]

여러 개의 파일을 하나의 큰 파일로 병합하고 전송 한 다음 압축을 풀면 다음과 같은 이유로 상당한 성능 향상을 얻게됩니다.

  1. 대기 시간 및 암호화 계산 오버 헤드로 인한 문제를 줄이며 나머지 문제와 관련하여 본질적이지 않으므로이를 무시할 수 있습니다.
  2. 파일을 압축하면 전송해야하는 데이터 양이 줄어 듭니다.

전송 방법이 지정되지 않았습니다. 업로드되는 파일이 여러 개인 단일 FTPS 세션이거나 각 파일에 대해 별도의 ftps 세션 일 것입니다.

후자의 솔루션은 – 내가 생각하기에 프로그램하기 쉬우므로 모든 단일 연결이 협상 될 필요가 있기 때문에 엄청난 오버 헤드가 발생하며,이 협상은 작은 파일에 비해 비쌉니다. (나는 FTPS에 대한 전문가가 아니지만 일반적으로 TLS는 각 요청에 약 6-7k의 오버 헤드를 추가합니다. FTPS는 TLS에서 랩핑 된 FTP 세션입니다.

페이로드가 중요하지 않다고 가정하면 요청 당 대기 시간은 약 3 배가됩니다. 사이트가 동일한 네트워크에있는 경우 중요하지 않을 수 있습니다. 예를 들어 뉴욕과 뉴욕에서 각각 1 개의 연결이 있고 LA 80ms에 다른 연결을 사용하는 경우 상당한 대기 시간 문제가 발생할 수 있습니다. NAS가 처리 할 수 ​​있더라도 전송 창을 날려 버릴 수 있습니다.


답변

내가 직면 할 가능성이있는 문제를 수량화하는 여기에 답변을 제공 할 것입니다. 나는 투표했다. 데이비드 너무 정확하게 문제를 설명하기 때문에 대답하십시오.

3 시간 동안 10 만 건의 이동이 대략적으로 평균과 같습니다. 초당 10 회 전송 . 각 전송은 100 밀리 초입니다.

서버 대 서버 대기 시간은 전송 속도를 따라갈 수있는 희망이 있기 때문에 10 밀리 초 미만으로 낮춰야합니다.

서버가 WAN을 통해 연결된 경우에는 다음 단계로 간주 할 수 있습니다. 동시 연결이 여러 개있는 경우가 아니라면 트랜잭션 자체가 연속적으로 발생하면 잠재적 인 이익 동시성을 효과적으로 무효화합니다.