본문 바로가기

분류 전체보기86

성능 개선의 수치화 - 3 (JMeter 사용 트러블 슈팅) 중간 이슈 발생 및 해결 JMeter로는 대용량 트래픽 처리를 가정하고 10000만건의 요청을 10초동안 10번 보내는것으로 하고 싶었으나 JMeter가 자꾸 꺼지거나 에러가 발생하는 문제가 확인되었다. 2번째 줄의 java.lang.OutOfMemoryError를 확인해본 결과 Java Heap 메모리 부족으로 인한 현상이었다. JAVA가 32bit으로 설치되어 있으면 Heap 용량이 많이 부족하여 64bit으로 설치해야 한다는 글을 찾았고 나의 JAVA bit가 궁금해져 추가로 확인해보았다. 윈도우 cmd를 실행하여 아래의 명령을 실행한다. java -d64 -version 결과에서 다음과 같은 형식으로 나오면 64bit (단순 예시) java version "1.x.0.xx" OpenJDK Runt.. 2023. 6. 1.
성능 개선의 수치화 - 2 (검색 성능 개선을 위한 Elastic Search) 이전 글에서 언급하였듯이 기존 like 연산자에서 성능 개선을 목적으로 Elastic Search로 변경하였으나 정확한 수치화를 하지 못했기 때문에 JMeter 사용법을 알아보았고 이제 정확한 수치화를 진행해보겠다. 각 페이지별(카테고리) search 기능을 별도로 like 연산자로 구현하였으나 통합 검색 기능을 구현하는 것으로 의견이 좁혀졌으며 각각의 카테고리별로 search 기능을 두었을땐 데이터가 많지 않아 like 연산자를 이용하여도 사용에 불편함이 없을정도로 빨랐으나 통합 검색으로 변경 후 데이터량이 급격히 늘어났기 때문에 like 연산자를 이용한 search 기능은 답답하게 느껴졌었다. 그것은 나 뿐만 아니라 사용자 피드백을 받았을 당시에도 마찬가지였고, like 연산자를 이용하여 통합 검색을.. 2023. 5. 31.
성능 개선의 수치화 - 1 (JMeter 사용법) 기존 프로젝트에서 성능 개선을 목적으로 LIKE연산자를 이용하여 구현하였던 검색 기능을 Elastic Search를 사용한 경험이 있으나 정확히 얼마나 개선되었는지 혹은 역으로 느려졌는지 수치화가 필요하다는 생각이 들어 JMeter를 이용하여 확인하기로 하였다. JMeter 설치부터 테스트 결과까지 확인해보자. 1. JMeter란? Apache에서 만든 자바로 만들어진 웹 어플리케이션 성능 테스트 오픈 소스입니다. JMeter를 이용해서 아래와 같은 테스트를 할 수 있습니다. - 웹 - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) - SOAP / REST 웹 서비스 - FTP - JDBC - LDAP - JMS - Message-oriented middleware (MO.. 2023. 5. 29.
프로그래밍 언어 (Programming Language)와 스크립트 언어 (Scripting Language)의 차이점은 무엇인가요? 프로그래밍언어란? -프로그래밍 언어는 컴퓨터 시스템을 작동시키는 소프트웨어를 만들기 위한 언어이다. 스크립트언어란? - 기존에 이미 존재하는 소프트웨어를 제어하기 위한 용도로 쓰이는 언어이다. - 인터프리터 형식의 언어 - 수정이 빈번하게 일어나는 곳에서 쓰인다. 프로그애밍 언어와 스크립트 언어의 차이점 - 컴파일 vs 인터프리터 : 일반적으로 프로그래밍 언어는 컴파일되어 기계어로 변환된 후 실행되지만 스크립트 언어는 인터프리터에 의해 한 줄씩 해석되고 실행된다. 프로그래밍 언어의 경우 컴파일 단계에서 미리 최적화되어 실행파일이 생성되므로 실행 속도가 빠를 수 있다. 스크립트 언어는 실행시간에 해석되기 떄문에 프로그램의 실행 속도는 상대적으 로 느릴 수 있다. - 정적 타입 vs 동적 타입 : 많은 프로.. 2023. 5. 26.