EC2의 CoreOS 내에서 실행되는 Docker의 Play 애플리케이션 프로파일 측정
2703 단어 CoreOS성능EC2PlayFramework도커
아무래도 Flight Recorder가 잘 작동하지 않는 것 같아서 EC2의 Docker 환경에서 움직이는 것을 확인해 보았습니다.
EC2에서 CoreOS를 시작합니다.
여기 CoreOS 공식 사이트 에서 적절하게 CoreOS 이미지를 선택하여 부팅합니다.
※ 그런 버튼(오른쪽의 Launch Stack)을 누르면 CloudFormation에서 여러 대 기동하게 되므로 주의. AMI 링크를 눌러 시작합니다.
EC2 인스턴스의 생성은 여러 곳에서 해설되어 있으므로 그쪽을 참조하여 기동해 주세요.
CoreOS에 로그인하고 Docker 인스턴스를 시작합니다.
로그인은 EC2에 ssh하는 표준 방법으로. CoreOS의 이미지는 사용자명
core
이므로 주의.Docker 인스턴스 시작
Docker의 이미지는 내가 만든 CentOS에 Oracle JDK8이 설치된 다음을 이용합니다.
docker run -p 80:9000 -id --name seed -v /var/tmp:/var/tmp chidakiyo/centos7-oracle-jdk8 /bin/bash
Docker에 연결
docker exec -it seed /bin/bash
Docker 내에서 Play 애플리케이션을 시작합니다.
필요한 모듈 설치
yum -y install git unzip
Play의 간단한 애플리케이션 얻기
샘플에서 얻은 것을 이용합니다.
git clone https://github.com/chidakiyo/sample-seed.git
Play 애플리케이션 빌드
cd sample-seed
./activator dist
Play 애플리케이션 배포
unzip target/universal/play-scala-1.0-SNAPSHOT.zip -d /var/tmp/
Play 애플리케이션을 비행 레코더를 활성화하고 실행
cd /var/tmp/play-scala*
./bin/play-scala -J-XX:+UnlockCommercialFeatures -J-XX:+FlightRecorder
Flight Recorder에서 프로필 가져오기 수행
PID 조사
jcmd
를 실행하고
play.core.server.ProdServerStart
비행 레코더로 프로필 가져오기
jcmd {PID} JFR.start delay=1s duration=30s filename=/var/tmp/record_1.jfr
위의 예에서는 30초 동안만 프로필을 가져옵니다.
/var/tmp
아래에 파일을 출력합니다.JFR 파일 검색 및 표시
파일 검색
파일의 취득은 scp등을 이용해 취득해 주세요.
Docker의
/var/tmp/
디렉토리는 CoreOS의 /var/tmp
를 마운트하고 시작하고 있으므로 CoreOS 내의 /var/tmp
디렉토리에서 얻을 수 있으면 OK입니다.파일 보기
Oracle Java(7 이상)가 설치된 환경에서
.jfr
파일을 두 번 클릭하여 실행합니다.깨끗한 그래프 등 JVM에 대한 자세한 정보를 볼 수 있었습니다.
Reference
이 문제에 관하여(EC2의 CoreOS 내에서 실행되는 Docker의 Play 애플리케이션 프로파일 측정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/chidakiyo/items/5e7b647f079ada06519e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)