분류 전체보기87 성능 개선의 수치화 - 4 (Overfetching 성능 개선) 이전 글에서 JMeter를 다루어 보니 성능의 객관화가 가능하여 성능의 좋고,나쁨을 볼 수 있어서 좋았다. 기존 프로젝트의 DB에서 불필요한 데이터를 받아오는 Overfetching 문제가 확인되었다. 현재 프로젝트에서는 불필요한 컬럼을 받아오는 이슈가 있기 때문에 불필요한 데이터를 걸러준다면 성능의 개선이 될까 궁금해졌다. 아래는 기존의 코드 이며 select하여 불필요한 데이터를 받지 않는 것으로 수정해보겠다. 수정 결과는 아래와 같다 수정 전 수정 후 27.3%의 개선이 이루어졌다. 단순 select를 하여 불필요한 데이터를 받지 않는 것 만으로도 유의미한 차이가 확인되었다. 2023. 6. 2. 성능 개선의 수치화 - 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. 이전 1 2 3 4 5 6 ··· 22 다음