기본 콘텐츠로 건너뛰기

홈페이지 성능 JMeter로 테스트 해보기




안녕하세요 광흠입니다.

오늘 포스팅 할 내용은 홈페이지 성능 테스트를 하는 하나의 방법을 소개 해 드리려 합니다.

요번에 제가 홈페이지 하면서 홈페이지가 몇 시간 지나면 못들어가는 일이 발생하였습니다.

확인을 해보니 아파치->톰켓 까지 호출을 했지만 톰켓은 먹통이 되어버린것입니다.

이유를 찾아보니 톰켓에서 처리할 수 있는 Thread가 한정 되어있어서 먹통이 되어버린.....

그래서 Thread 를 프로그램적으로 할 수 있는 것을 찾아보다가 아파치에서 배포한

JMeter 하는것을 알게되었습니다 ^^

이걸로 어느정도의 성능 테스트를 할 수 있습니다

http://jmeter.apache.org

위의 링크에서 다운로드 받으시면됩니다.


다운로드 받으시면 jmeter.bat 프로그램을 킵시다!


1. 쓰레드 새로운 그룹을 만드시고 




2. 저기서 필요한 쓰레드와 얼마나 LOOP할껀지 설정을 해주시고

3. http request 도 하나 만드시고 설정합시다.


4. 설정을 가볍게 이정도로 하고 


이 탭에서 start를 하면 설정한 값으로 요청을합니다


5. 결과를 보기위한 리스너도 등록합시다.


Spline Visualizer 의 결과는 그래프 형태로 시간의 흐름에 따른 Response Time 의 변화를 나타냅니다~~~
 View Result Tree 는 각 요청에 대한 요청 Data, 응답 Data, Header 값, 결과값 을 "Sampler Result, Request, Response data" 의 탭에서 나타냅니다


이렇게 간단한 설정만으로 쓰레드 날려서 홈페이지 성능을 테스트 할 수 있습니다.

더 자세하게 설정하면 원하는 결과값을 더 많이 도출할 수 있겠죠 ^^

감사합니다~~~

댓글

이 블로그의 인기 게시물

Intellij에서 Eclipse 프로젝트 import시 설정해줘야 할 것들

요즘 여유가 좀 생겨서 지금까지 Eclipse만 쓰다가 사람들이 하도 Intellij가 좋다하길래 얼마나 좋길래 하고 써보려고 하다가 프로젝트를 import 시키던중 좀 적어두면 좋을거같아서 적어보려고한다 !! 다음에 잊지 않기 위해... 1. Settings > Build, Execution, Deployment > Compiler > Java Compiler 버전 맞추기 2. 상단에 설정 추가 하는부분을 눌러 톰켓을 생성해준다. 꼭 넣어줘야할 부분은 VM options에  -Dfile.encoding=utf-8  한글 깨짐 방지다. (그리고 intellij 설치 된 곳에 bin폴더 안에 vmoptions 확장자를 갖은 녀석의 맨 마지막 줄에도 넣어준다!) 3. project structure > Project Settings > Project 그리고 java버전에 맞춰서 project language level도 맞춰줘야합니다! 4. project structure > Project Settings > Modules - Sources 여기도 project language level도 맞춰줘야합니다! 5. project structure > Project Settings > Modules - Dependencies 들어가서 + 단추를 누르고 Library..를 누르고 Tomcat 추가! 이러면 이클립스에서 갖고온 프로젝트가 잘 동작합니다!! 아 그리고 .settings, .classpath, .project 는 필요 없어지므로 삭제해도 무방합니다 ps. 사실... 이클립스 쓰면서 불편한건 하나도 없었어요... 그리고 아직은 단축키라던지 익숙하지 않아서 이클립스가 더 편하네요... 사실 이클립스 단축키를 인텔리제이와 동일하게 할 수 있지만.... 인텔리제이의 기본 설정만 써...

Ext JS 4.2 트리 노드 추가 및 스크롤 이동

Ext.require([ '*' ]); Ext.onReady( function (){      var addButton = Ext.create( 'Ext.Button' , {         text: '노드 추가(Add Node)' ,         scale: 'large' ,         listeners: {         el: {             click: function () {          var thisNode =  Ext.getCmp( 'xAxisTreeUse' ).getRootNode().appendChild({                      "text":"노드 이름 (Node name) "         });                 Ext.getCmp( " tree " ).selectPath(thisNode.getPath());             }         }     });      var   store = Ext.create( 'Ext.data.TreeStore' , {             id:  'store' ,     ...