%EC%97%90%EC%84%9C%20rsync%20%EC%8B%A4%ED%96%89%20%EC%8B%9C%EA%B0%84%EC%9D%84%20%EA%B0%9C%EC%84%A0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
현재 OmniOS인 일부 변형에서 illumos를 테스트하고 있습니다.
io-bound 프로세스를 벤치마킹하면서 rsync
제가 참조한 FreeBSD 12-CURRENT에 비해 속도가 상당히 느린 것을 확인했습니다.
동일한 하드웨어를 사용하고 동일한 소스 및 대상 디스크에 동일한 명령:
OmniOS r151026에서 측정한 결과는 다음과 같습니다.
test@omniosce:~# time rsync -aPt /zarc/images /home/test/
real 17m25.428s
user 28m33.792s
sys 2m46.217s
FreeBSD 12-CURRENT에서:
test@freebsd:~ % time rsync -aPt /zarc/images /home/test/
374.651u 464.028s 11:30.63 121.4% 567+210k 791583+780083io 2pf+0w
(FreeBSD 12-CURRENT에는 디버그 스위치가 포함되어 있으므로 향후 출시될 RELEASE 버전보다 느리게 실행됩니다.)
나는 FreeBSD에서
rsync
3개의 프로세스로 실행되고 있다는 것을 알았습니다.nice=0
그 중 두 개는 모두 입니다.지속적으로 50~70%의 CPU 시간을 사용함.OmniOS에서도 3개의 프로세스로 실행 중이
rsync
었지만nice=0
각각은 3%를 넘지 않습니다..
FreeBSD와 Illumos에서 동일한 하드웨어의 실행 시간이 너무 다른 이유는 CPU 사용량 때문입니까?
그렇다면 nice
두 OS 모두에서 동일했기 때문에 Illumos가 더 높은 CPU 사용량을 허용하지 않는 이유는 무엇입니까?
rsync
Illumos 기반 OS에서 실행 시간을 어떻게 향상시킬 수 있습니까 ?
미리 감사드립니다.
2018-06-02 편집:
좀 더 구체적으로 질문을 명확히 했습니다. @rui-f-ribeiro에게 감사드립니다.
@roaima에게 응답:
- 소스 및 대상 파일 시스템은 모두 로컬 디스크입니다.
- 이것은 OS별로 일회성 실행이 아니라, 이 난해한 상황을 여러 번 반복해서 테스트해 왔습니다.
- 테스트할 때마다 대상 디렉터리 트리에 소스의 파일과 일치하는 파일이 완전히 비어 있는지 확인하고 있습니다.
답변1
드디어 수수께끼가 풀렸습니다.OmniOS rsync를 64비트로 전환하고 최적화 활성화. 이는 체크섬 코드 속도를 두 배 이상 향상시킵니다.
이제 완전히 동일한 하드웨어를 고려하면 OmniOS의 rysnc는 FreeBSD보다 조금 더 빠릅니다.
여기 계신 모든 분들께 감사드리며, 신속하고 철저하게 도움을 주신 훌륭한 OmniOS 개발자들에게도 감사드립니다.