성능과 튜닝 27

어제 성능 엔지니어링 강의에서 들은 몇몇 인사이트 정리

어제, 네이버D2에서 열린, NHN nGrinder 개발자인 윤준호님의 성능 강의를 듣고 왔습니다.몇가지 얻은 인사이트가 있어서 기록해놓습니다. 아마존의 T2 인스턴스 타입 - 서버의 부하에 따라서 컴퓨팅 파워를 높였다 낮췄다가 함.- 크레딧이란 개념을 써서, 부하가 낮을때는 크레딕을 저축해놓고, 부하가 높아지면 모아놓은 크레딧을 소모하는 방식 성능 테스트시 주의 사항 - 외부 OPEN API등을 사용할때, 성능 테스트시, OPEN API가 성능 테스트를 DDoS 공격으로 인식해서 차단될 수 있음 대용량 파일 (동영상등)에 대한 부하 테스트 - 네트워크 대역폭을 많이 소모하여 운영 시스템 장애로 발전할 수 있음- 비용도 많이 소모됨- 이를 방지 하기 위해서 초기 1000 바이트 정도만 읽어들이고, 해당 ..

성능과 튜닝 2016.04.20

MAC에서 HTTP 패킷 모니터링 하기

MAC에서 HTTP 패킷 모니터링 하기 조대협 (http://bcho.tistory.com) 윈도우즈의 경우 fiddler (http://www.telerik.com/fiddler ) 라는 무료 도구가 있고, Mac의 경우에는 HTTPScoope (https://www.tuffcode.com/) 을 추천한다. HTTPScoope의 경우 14일 무료이고, 유료 버전은 15$ (약 16000원정도)이다. 아래는 로컬에서 3000번 포트로 띄운 웹서버의 패킷을 모니터링 하는 방법이다. Scoop을 사용하는 방법을 보면, Scoop을 설치한 후에, “Preference” 메뉴에서 아래 그림과 같이 Restrict to port 메뉴를 선택해서, 3000 번 포트를 추가한다. (예제가 3000번 포트를 통해서 L..

성능과 튜닝 2016.03.11

웹트래픽 디버깅툴-Fiddler

지앤선 김지영 대표님이 보내주신 책으로 본 솔루션 피들러 완벽 가이드저자에릭 로렌스 지음출판사지앤선 | 2013-09-24 출간카테고리컴퓨터/IT책소개웹 디버깅 툴, 피들러의 가이드. 피들러의 개발자가 직접 피들러... http://fiddler2.com/마치 Proxy 서버 처럼 중간에 패킷을 snipping 해서 디버깅 할 수 있다. SSL 인증서 변경해서 Man in middle attack emulation해볼 수 도 있고, 여러가지로 유용한 툴인듯.

성능과 튜닝 2014.01.07

VisualVM을 이용한 JVM 모니터링

JVM Monitoring조대협 JVM 1.4 버전대에만 해도 GUI 기반으로 JVM을 모니터링 하는 도구는 거의 없었다. 콘솔로 접속해서 Thread dump나 GC 로그등을 분석하거나 필요할 경우 JMX 기반의 모니터링 명령어등을 만들어야 했는데, 근래에는 좋은 모니터링 도구들이 많이 나와서, 쉽게 JVM의 상태를 모니터링 할 수 있고, 메모리,CPU 사용률, Thread 현황들을 매우 쉽게 분석할 수 있다.여기에, 여러개의 VM을 동시에 중앙에서 매우 세세하게 모니터링이 가능하게 되었다.여기서는 몇가지 자주 사용되는 JVM 모니터링 툴을 소개하고자 한다. VisualVM대표적인 도구로는 오픈소스 기반의 Visual VM이라는 도구가 있다. http://visualvm.java.net/에서 다운로드 ..

Apache Tomcat Tuning (아파치 톰캣 튜닝 가이드)

톰캣 튜닝조대협 이번에는 톰캣 서버에 대한 튜닝 옵션에 대해서 한번 알아보자.애플리케이션 관점에서의 튜닝도 중요하지만, 각 솔루션에 대한 특성을 업무 시나리오에 맞춰서 튜닝하는 것도 못지 않게 중요하다. 여기서 톰캣 튜닝을 설명하는 것은 톰캣 자체에 대한 튜닝 옵션을 소개하는 것도 목적이 있지만, 그보다 업무형태에 따라서 어떠한 접근을 해서 톰캣을 튜닝하는지를 소개하기 위함이다. 가정여기서 튜닝 하는 톰캣은 HTTP/JSON형태의 REST 형태로 서비스를 제공하는 API 서버의 형태이다. 여러대의 톰캣을 이용하여 REST 서비스를 제공하며, 앞단에는 L4 스위치를 둬서 부하를 분산하며, 서비스는 stateless 서비스로 공유되는 상태 정보가 없다. server.xml 튜닝톰캣의 대부분 튜닝 패러미터는 ..

성능 엔지니어링 대한 접근 방법 (Performance tuning)

성능 엔지니어링에 대한 접근 방법조대협 성능 개선, Performance Tuning, 용량 선정 과 같은 튜닝 관련 용어들은 모든 개발자나 엔지니어에게 모두 흥미가 가는 주제일 것이다. 그 만큼 소프트웨어에서 고성능을 내는 시스템은 만들기도 힘들뿐더러, 고성능 시스템이란 즉 잘 설계되고 구현된 소프트웨어를 뜻하는 것이니 관심을 가지는 것이 당연하지 않을까 싶다.필자의 경우, 엔터프라이즈 시스템에 대한 약 6년간 장애 해결, 장애 회피 설계, 성능 개선, 고성능 시스템 설계 및 구현에 관련된 일을 해왔다. 특히 장애 해결과 성능 개선 작업은 하고 나면 뿌듯하기는 하지만, 특정한 기술이 필요하기 보다는 문제를 정의하고 접근하는 능력과 끝까지 목표를 달성할 때까지 지루한 작업을 반복적으로 할 수 있는 인내심..

성능과 튜닝 2013.09.04

Tomcat 7.0 Parameter Tuning

server.xml-- root 사용자로 start 하지 못하게 함 메모리 leak detector dbcp 말고 tomcat pool 사용context.xml에 설정애플리케이션 배포를 쉽게 하기 위해서, 위의 Context.xml은 war/META-INF/context.xml을 사용하는게 좋음 shared lib 처리 필요JVM은 -server -Xms1024m -Xmx1024m -XX:NewSize=384m -XX:PermSize=128m + ParallelGC, GCThread=3, +PrintGCDetial디렉토리 처리 (1 server , 1was를 기준으로 함)tomcat 설치는 /usr/local/tomcatJVM은 /usr/local/jvmapplication은 /applications/w..

LoadUI 테스트 결과

부하테스트툴로 고민중이던 Load UI를 테스트해봤다.SOAPUI를 만든 업체의 제품이라서 신뢰가 갔는데.. 2012년 제품으로 제품의 성숙도에 의문이 있었다. 지금도 의문은 남아 있다. 전체적으로 Yahoo Pipe와 같이 Mash up의 느낌을 준다.Wramp up 테스트, agent를 이용한 분산 환경 기반의 테스트등 기본적인 테스트와 Server Side 모니터링을 지원한다.스크립트 언어로는 Groovy를 지원한다. 그리고 SOAP UI를 PLUG IN하여 부하 발생기로 사용할 수 있으며, Hudson과 같은 CI툴과 통합하여 regression 테스트 까지 지원한다. 전체적으로 기능 자체에는 부족함이 없어보인다.Java 기반이고 UI는 Java FX를 사용해서 인지, Launch할때 좀 불안정하..

성능과 튜닝 2012.10.30