Mac 용 Docker의 Mutagen 기반 캐싱으로 볼륨 성능이 크게 향상되었습니다.

2020/8/23 추가

2.3.5.0의 Edge release에서 삭제 된 패턴 입니다.
향후의 통합 방법을 검토하는 것으로, 속보를 기대합니다. .

Mac용 Docker용 Edge channel 에서 Mutagen 기반 캐시 을 사용할 수 있게 되어 있습니다. (수중 버전은 2.3.1.0)

이전에는 EC-CUBE를 비롯한 Symfony를 기반으로 한 응용 프로그램과 Composer 및 npm과 같은 패키지 관리 시스템의 파일을 마운트하면 강렬하게 느려지는 문제이있었습니다.

이번에 사용할 수있는 Mutagen 기반 캐시를 사용하려면,
  • Preferences -> Resources -> FILE SHAREING로 마운트 할 디렉토리를 지정합니다.
  • 캐시를 ON으로 설정합니다.

  • 입니다.


    나머지는 평소대로 전체 애플리케이션을 볼륨에 마운트하는 것이 좋습니다.
    ## 例
    docker run --name ec-cube -p "8080:80" -v "$PWD:/var/www/html:cached" --link container_mysql:db eccube-php-apache
    

    이하, 수중의 환경에서의 비교입니다.
    약 7배로 퍼포먼스 향상하고 있습니다.
    (성능이 좋은 디스크 사용하고 있으므로, 체감적인 차이는 적습니다만, 낡은 환경에서는 크게 차이가 나온다고 생각합니다)

    Mutagen-based caching OFF의 경우


    Mutagen-based caching ON의 경우


    GitHub issues 에도 퍼포먼스 검증 결과가 코멘트 되고 있으므로, 아울러 봐 주세요.

    Ruby 및 Node.js와 같은 PHP 이외의 애플리케이션에서도 성능 향상을 기대할 수 있습니다.
    Docker for Mac의 느린 시간에 손을 굽는 분은 꼭 사용해보십시오!

    2020년 5월 26일 추가



    마운트 된 파일의 사용 권한이 변경되는 문제 있습니다.
    조만간 개선 될 수 있지만 컨테이너에서 chmod -R o+w <mounted volume>
    이 트윗도 참고로

    시도한 1. 캐시 처리가 끝날 때까지 컨테이너 내에서 사용할 수 없다 2. 사용하지 않을 때보다 CPU 소비하고 있다고 생각하는 3. owner/group/permission이 바뀐다. 문제는 보고되고 개선될지도? htps // t. 코 / T Y5wq 카우 — Koji Tanaka (@tenkoma) May 23, 2020


    <script async=""src="https://platform.twitter.com/widgets.js"/>

    좋은 웹페이지 즐겨찾기