반응형

[성능테스트] Apache - JMeter 사용법


이번 포스팅은 성능테스트를 할수있는 Apache - JMeter 사용법에 대해서 포스팅하겠습니다.

JMeter 는 url정보를 입력해주고, 상황에따라 parameter을 넣어주신 후에 테스트할 사용자 및 반복횟수를 설정하여

성능을 확인할수 있습니다. 가장 기본적인 기능이고 자세한 기능들은 아직 저도 많이 안써봐서 잘모르겠네요..

아래는 로그인부터 쿠키저장을 하고 내부에 프로세스까지 테스트하는 직접 해본 예제를 첨부하였습니다.


아파치 JMeter 홈페이지

http://jmeter.apache.org/


JMeter 다운로드 ( 최신버전 이전의 버전들 )

https://archive.apache.org/dist/jmeter/binaries/ 



아파치 jmeter 홈페이지에서는 참고하실수있는 기본적인 매뉴얼 등을 제공하며 jmeter을 다운로드 받으실수 있습니다.

현재 최신버전은 Apache JMeter 3.3 버전 ( Java 8 필요 ) 이며, JMeter 3.3은 아직 Java 9를 지원하지 않습니다.

저는 기존 프로젝트가 java7 버전을 사용해서, JMeter 2.13버전을 다운로드 받아 사용했습니다.


Apache-jmeter-2.13.zip 을 다운로드하였으며, 압축을 풀어줍시다.

압축을 풀어서 폴더로 들어가시면



위와같이 폴더와 파일들이 있는데요.

apache-jmeter-2.13 / bin 폴더로 들어가셔서 jmeter.bat 를 실행하시면 됩니다.

실행하시면 cmd창과 함께 JMeter이 실행됩니다. ( cmd창 종료시 JMeter도 같이 종료됩니다. )



처음 화면에서 Test Plan 오른쪽 버튼을 클릭해서

Test Plan > Threads (Users) > Throad Gruop 를 클릭하여 생성해줍니다.


Throad Gruop 에서 설정해주셔야할게 있는데요.

성능테스트에서 가장 중요한 부분입니다.

표시를 못했는데 빨간박스 위에 부분에

Action to be taken after a Sampler error 이부분은 실행 중에 에러가 발생하면 처리할 방법을 선택해주시면 되구요.

빨간박스 Thread Properties 부분을 설정해주셔야되는데

Number of Threads ( users ) : 쓰레드의 갯수를 선택합니다. 쉽게말해서 유저라고 생각하시면 되고 몇명의 유저로 테스트를 할건지? 정해주시면 됩니다.

Ramp-Up Period ( in seconds ) : 쓰레드가 여러개면 여러개의 실행시간을 users로 계산해서 실행시키는것 같습니다.

Loop Count : user가 테스트할 반복할 횟수를 넣어주시면 됩니다.



생성된 Throad Gruop 에서 우클릭하셔서

Add > Config Element > HTTP Cookis Manager 클릭해주세요.



Throad Gruop 에서 또 우클릭하셔서

Add > Logic Conrtoller > Once Only Controller 클릭해주세요.



생성된 Once Only Controller 에서 우클릭하셔서

Add > Sample > HTTP Request 클릭해주세요.



생성된 HTTP Request 에서 설정을 해줘야됩니다.

위에 빨간색으로 표시해준 부분을 설정해줘야되는데요.


HTTP Request

Name : doLogin ( 나중에 Request 가 많아져 헷갈릴수 있으니 Name을 설정해줍니다. )

Server Name or IP : localhost ( http:// 를 제외한 주소를 적어줍니다. )

Port Number : 80 ( 사용하시는 포트를 입력해주시면 되구요, )

Method : POST ( 저는 POST방식으로 로그인을 해서 POST를 설정했는데 GET방식이시면 GET으로 하시면 됩니다. ) 

Path : /common/doLogin.do ( 주소뒤에 해당 mapping 주소를 입력해줍니다. )

Parameters : ( 실제 로그인 하실 계정정보를 입력해주시면됩니다. )

 - id : admin (  저는 id라고 적었는데 해당 input의 id값을 적어주시면 됩니다. ex) id="user_id" 이시면 user_id )

 - pw : admin ( input의 pw의 id값을 적어주시구요.)



Login을 하고 다음페이지를 확인하기 위해서

Thread Group 에서 우클릭하셔서

Add > Sample > HTTP Request 클릭해주세요.



이번에도 HTTP Request 에서 설정을 해줘야됩니다.

위에 빨간색으로 표시해준 부분을 설정해줘야되는데요.

위에서 설정을 많이해줘서 Name을 포함해서 4가지만 적어주시면 됩니다.


HTTP Request

Name : main 

Server Name or IP : localhost ( http:// 를 제외한 주소를 적어줍니다. )

Port Number : 80 ( 사용하시는 포트를 입력해주시면 되구요, )

Path : /common/doLogin.do ( 주소뒤에 해당 mapping 주소를 입력해줍니다. )


*제목이나 내용과 키워드를 가지고 조회기능이 있는 리스트에는 위에 처럼 Parameters 를 넣어주면 되는데요.

제목이나 내용의 selectBox 가있으면 그값의 id와 해당값

키워드면 해당 input text 창의 id와 해당값을 적어주시고

Method post or get을 설정해서 테스트를 하시면 결과 HTML값에 해당 리스트만 나오는 것을 확인할 수 있습니다.



이제 생성하는 것은 실행후 확인할수있는 Listener를 등록해주겠습니다.

위와 같이 Thread Group 우클릭을 해서

Add > Listener > View Results Tree / Summary Report / Graph Results 를 클릭해 주세요.

보통 View Results Tree / Summary Report / Graph Results 등을 많이 사용합니다.

그외에 추가로 그래프 같은것을 사용하시려면 라이브러리를 추가해주면 됩니다.

다음 아래 화면들은 Listener 등을 이용한 결과값 확인입니다. 



Graph Results 리스너입니다.

전체적인 결과를 그래프로 보여줍니다.

위에사진은 다른 결과의 값을 임의로 가져왔는데요.

위에서 The Group의 값이 1씩이라 그래프가 안나와서 값을 50씩 넣어줘서 돌린 결과입니다.

The Group 데이터의 값이 크면 클수록 데이터가 잘 나옵니다.



Summary Report 리스너입니다.

결과 값이 이렇게 나오는데 순차적으로 보시면

Label :  HTTP Request 의 NAME

# Samples : 서버에 요청한 횟수

Average : 평균 응답시간 (ms)

Min : 최소 응답시간 (ms)

Max : 최대 응답시간 (ms)

Error : 에러율

등 을 의미합니다.



마지막으로 View Results Tree 입니다.

다른 리스너보다는 한번에 결과를 볼수 있어서 바로 보기는 좋습니다.

빨간박스 왼편에 초록색으로 들어와있는 부분이 정상적으로 접속이 됬으면 초록색으로 표출되구요.

404에러 ip주소나 port 또는 url이 잘못됬을 경우는 빨간색 ! 표시가 나오게 됩니다.

로그인이나 그런부분에서 잘처리가 되었다면. Response data에서 

화면에 해당하는 JS 및 HTML이 표출되서 확인해보시면 빠르게 파악하실수 있습니다.

그밖에 post방식으로 전송했는지 get방식인지 Prameter는 어떤걸 보냈는지 다 확인할수 있으며, 

오류발생시 이것을보고 값 셋팅을 다시해주면 되겠습니다. 


*만약 Reponse data가 빈화면으로 나오면 ( JMeter response data empty )

jmeter.porperties 파일을 에디터로 켜서 아래부분이 false로 되있다면 true로 변경해주세요.

jmeter.save.saveservice.response_data = true

jmeter.save.saveservice.samplerData = true


* 그 밖에 인터넷으로는 접속이 되는데 JMater으로는 404에러가 뜬다 하시면

해당 url로 접속해서 크롬 개발자모드로 header부분을 확인해주시고

JMeter에서는 The Group 하위에 add > Config Element > HTTP Header Manager 추가하신후 해당하는 Header를 넣어주시고 테스트해보시면 될수도있습니다.


The Group 을 여러개 생성해서 서비스 분야별로 정리하거나 홈페이지별로 정리해서 사용하시면 더욱 편리합니다.



반응형
반응형
성수에는 분위기 좋고 감성적인 카페들도 많지만 안전가옥 이곳은 조용히 문학적인 시간을 보내기에 좋은 공간인것 같습니다!

2호선 건대역과 성수역 사이에 위치한곳으로 저는 길을 지나가다 정말 우연히 발견한 곳인데 전혀 카페라고는 생각도 못하고 저긴뭘까?뭐지?
외관에 별다른게 적힌게 없어서 호기심을 유발한곳입니다


외관이 이렇게 생겼습니다 정말 궁금하게
만들었던 곳이에요
다시 보아도 그냥 지나칠수 있을법한 모습이네요! 



매주 월요일휴무 / 11:00~23:00라고 적혀있구요


문을 통과해서 안 쪽으로 좀만 걸어들어오면
풀숲처럼 풀이 많습니다 흔한카페의 모습이 아닌것 같아요 
오전에 비가온날이라 많이 젖었습니다ㅜ!
더 느낌있네요ㅋㅋㅋ


이곳은 카페라는 개념보단 글쓰는곳인
문학도서관이라는 공간이 더 어울리는것 같아요 정말 보기드문 특이한 컨셉이네요


안전가옥은 건물이 두 채가 나눠져 있는데 
이곳은 커피를 주문하고 가볍게 이야기를 나눌수 있는 공간입니다 
테이블은 다닥다닥 붙어있네요~!


2층으로 올라가는 창가에 비친 외부모습이 이쁩니다!
2층은 문학창작자분들만 이용하실수있는 공간이 따로있다고 하네요


1인 1음료 필수구요 커피값이 상당히 비싸죠
따뜻한 아메리카노랑 바닐라 라떼를 주문했습니다!
그럼 두시간 이용시간이 주어집니다

일반카페처럼 있고싶으면 있는곳이 아니고
두시간 시간제한있어요 만약 하루종일 있고 싶으시면


1-Day pass 말그대로 하루종일 있을수 있어요 이거 사용하시면 될것 같네요!(음료한잔은 무료)

*음료한잔 = 라이브러리 2시간 이용시간제
*10,000원(평일기준) = 라이브러리 무제한이용,음료한잔 무료제공

시간을 활용적으로 쓸수있게 어느게 더 이득인지 생각을 해보시면 될 것 같아요!


안전가옥 주변에 위치한 맛집을 정리해놓으셨네요 
좋은 정보 감사합니다!


이곳은 날씨 좋을때 앉아있기 좋겠네요 
나무로만든 의자와 테이블이 자연적이고 감각적입니다! 
무심한듯 신경쓴듯한 느낌을 받았어요ㅋㅋㅋ


이 건물이 조용히 책을보며 있어야하는 라이브러리 공간이에요! 
꼭 절대 떠들면 안된다고 직원분이 지켜달라 당부하셨어요ㅋㅋㅋ


주문을 맞치고 음료를 들고 건너왔습니다
천장도 높고 전체적인 공간이 넓어요
혹시나ㅋㅋㅋ얘기나누실꺼면 아까 그쪽으로 다시 건너가시면 되요


이른 시간에 가서 제가 1번손님이였습니다!
그래서 아무도 없어서 사진을 제법 많이 찍을수 있었어요 !헤헤


분야별로 정리된 책의 위치이구요!
장르가 다양하네요


정말 다양한 종류의 전문 서적들이 많습니다 
당연 저에겐 못보던 서적들도 많네요 평소 문학생활을 즐기시는분들은 흥미있으실 꺼에요!


쉿! 여기선 절대 떠들면 안됩니다!
 쉿까지 적혀있네요


조명이 너무 많아서 찍으면 다 이쁘네요!
테이블도 많이 있어요ㅋㅋㅋㅋ


주토피아!

슬램덩크!


조명 의자 테이블 등등 소품들 하나하나
엔틱하고 고급스런 느낌이 듭니다
전체적인 컨셉과 잘 어울리는것 같아요


제가 이 날 제일 처음 온 1번 인증입니다ㅋㅋㅋ

저에겐 두시간 시간제라서 시간이 더 금방가는 느낌이 드는점이 있긴 했지만 
차라리 다음번엔 1Day패쓰권을 끊어서 자기발전을 위하는 시간을 보내도 좋을것 같아요!

커피맛은 그냥 카페 커피맛이였습니다ㅋㅋ
흔하지않은 컨셉의 카페로 한번쯤 가보면 좋을 것 같아요.


반응형
반응형

아이폰 X 실물 후기입니다!!

제껀아니고... 여자친구 친구꺼구요 ㅋㅋ 

사진협찬받았습니다 ㅋㅋㅋ

실물로 봤는데 진짜 이쁘고... 바꾸고싶네요

하지만 가격이... 덜덜덜

일단 아이폰X에 대해 가볍게 알아보자면!




아이폰X

스펙

- 디스플레이 : 5.8 Super Retina HD 디스플레이

- 화면크기 : 14.7 CM

- 해상도 : 2436 X 1125

- 배터리용량 : 2716 mAh ( 아이폰7 대비 최대 2시간 더 사용가능 )

- 무게 : 174g

- 기타 : 블루투스 5.0 / Ios 11


* A11 Bionic 칩

- 6코어와 43억 개의 트랜지스터를 갖추었으며, Turbo Boost가 필요할 경우 CPU의 6개 코어를 동시활용

- 머신러닝을 통해 외모변화를 인지
  -> 적외선 카메라가 도트패턴 판독하고 적외선 이미지 포착 데이터를 A11 Bionic 칩의 Secure Enclave에 전송하여 일치여부 확인

- 초당 최대 6천억 번의 연산 수행가능한 뉴럴 엔진탑재

- 기존 A10 Fusion보다 CPU의 4개의 효율코어는 최대 70% , 2개의 성능코어는 최대 25% 빠름 , 3코어 GPU는 최대 30% 빠름

- 증강현실 구현에 최적화


* 카메라

- 인물 사진모드의 새로운기능 인물 사진 조명추가
  인물 조명 -> 정교한 알고리즘을 통해 빛에 따라 계산하고, 그데이터로 조명을 연출 ( 자연조명, 스튜디오 조명, 윤곽 조명 , 무대 조명 등)

- 애니모티콘
  -> 칩과 연동하여 얼굴을 인식해 이모티콘의  표정과 입모양을 그대로 표현해주는 애니모티콘

- 1200만화소 OIS 기능의 망원 카메라
  -> OIS : 이미지 흔들림 보정 기능

-와이드앵글 및 망원카메라
  -> 광학줌 사진 최대 10배, 동영상 6배의 디지털줌


* True Tone : 6채널 주변광 센서를 사용해 화면의 화이트 밸런스를 세밀하게 조절하여 주변 조명의 색온도와 일치시키는 기능, 눈의피로를 줄여줌

* HDR (High Dynamic Range) 디스플레이 : 영화 TV 프로그램을 Dolby Vision과 HDR10으로 감상가능

* 무선충전 지원

위 사진과 같이 전면에만 센서 및 카메라, 마이커 등등 엄청난 것들이 다 들어가있습니다.

M자 탈모는 좀 아쉽기는 하지만요...



박스는 다른 아이폰과 비슷하게 생겼네요!

오히려 박스는 아이폰8+ 스페이스그레이가 더 이쁜듯합니다.

그런데 박스가 무슨소용...



크기는 아주적당하고!

지금상태로는 M자도 잘안보이고!

상당히 심플합니다.



아이폰 X의 설명서인데

모션인식 자체가 기본 아이폰이랑은 좀 달라지고

기능이 상당히 많아서 공부좀 해야되겠네요.



박스구성!

다른 아이폰과 다를 것 없습니다.

에어팟 들어있었다면 좋았을텐데

이어팟 제공입니다.



256G ㅎㅎ 가격 엄청난데 부러워요 ㅠㅠ

나도 가꼬싶다..



아이폰X 나두고 안좋은 폰으로 찍으니...

사진이 안좋아보이고 잘 모르겠어요



역시 아이폰은 뒷면인것 같습니다.

뒷면 디자인이 상당히 잘나왔구요. 

옆모습역시 이쁘고 깔끔합니다.

고강도 스테인리스 스틸을 사용했다고는 하지만

이 가격에 핸드폰 케이스 없이는 절대 못쓸거 같구요.

리퍼역시 다른 아이폰들보다는 훨씬 비싸기때문에............

깨지기전에 거의 왕처럼 모셔야 될듯합니다.



M자 라고 놀렸지만

실물로 봤을때 상당히 거부감없고

오히려 이쁘더라구요...

화질역시 엄청나서 고급스러워 보입니다.

생각하는거보다 실물이 훨씬이쁘고 좋으니

돈만있다면 망설이시지 마시구 바로 질러주시면 되겠습니다.

이상으로 아이폰X의 스펙 및 실물후기였습니다.

반응형

+ Recent posts